"""Type definitions for custom_reports.""" from typing import NotRequired from typing import TypedDict class ExtraField(TypedDict): """Extra field in a dimension mapping.""" column: str header: str join: NotRequired[str] class DimensionMapping(TypedDict): """Configuration for a report dimension.""" column: str header: str join: NotRequired[str] extra: NotRequired[list[ExtraField]] include_mechanicals: NotRequired[bool] default: NotRequired[str] # Snowflake query parameter values (account_id: int, statement_period_ids: list[int], etc.) SnowflakeQueryParams = dict[str, int | list[int]]