from typing import Dict
from typing import Any


def interface() -> Dict[str, Any]:
    """
    Returns:
      The schema for the `interface` block
    """
    data = {
        "type": "list",
        "schema": {
            "type": "dict",
            "schema": {
                "name": {"type": "string", "required": True},
                "description": {"type": "string"},
                "before": {"type": "string"},
                "after": {"type": "string"},
                "before_each": {"type": "string"},
                "after_each": {"type": "string"},
                "modules": {
                    "type": "list",
                    "schema": {
                        "type": "dict",
                        "schema": {
                            "name": {"type": "string"},
                            "before": {"type": "string"},
                            "after": {"type": "string"},
                        },
                    },
                },
            },
        },
    }
    return data