""" Base provider protocol for DSL autocompletion. Defines the minimal interface that metadata providers must implement to support context-aware autocompletion. """ from typing import Protocol class BaseMetadataProvider(Protocol): """ Protocol defining the interface for metadata providers. Metadata providers give the autocompletion engine access to context-specific data (e.g., column names, available values). This is a minimal interface. Specific DSL implementations can extend this with additional methods. """ def list_style_presets(self) -> list[str]: """ Return the list of available style preset names. Returns: List of style preset names (e.g., ["primary", "error", "success"]) """ ... def list_format_presets(self) -> list[str]: """ Return the list of available format preset names. Returns: List of format preset names (e.g., ["EUR", "USD", "percentage"]) """ ...