"""Stub file for reflex_enterprise/components/map/map_consumer.py"""

# ------------------- DO NOT EDIT ----------------------
# This file was generated by `reflex/utils/pyi_generator.py`!
# ------------------------------------------------------
from typing import Any, Mapping, Optional, Sequence

from reflex.components.core.breakpoints import Breakpoints
from reflex.event import EventType, PointerEventInfo
from reflex.vars.base import Var

from reflex_enterprise.components.map.base import LazyBaseLeafletComponent

from .types import (
    ErrorEvent,
    LatLng,
    LayerEvent,
    MouseEvent,
    MoveEvent,
    PopupEvent,
    ResizeEvent,
    TooltipEvent,
    ZoomEvent,
    ZoomLevelsChangeEvent,
)

class MapConsumer(LazyBaseLeafletComponent):
    @classmethod
    def create(
        cls,
        *children,
        map_ref: Var[str] | str | None = None,
        events_handler: Var[dict] | dict | None = None,
        style: Sequence[Mapping[str, Any]]
        | Mapping[str, Any]
        | Var[Mapping[str, Any]]
        | Breakpoints
        | None = None,
        key: Any | None = None,
        id: Any | None = None,
        ref: Var | None = None,
        class_name: Any | None = None,
        custom_attrs: dict[str, Var | Any] | None = None,
        on_blur: Optional[EventType[()]] = None,
        on_click: Optional[EventType[()] | EventType[MouseEvent]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_contextmenu: Optional[EventType[()] | EventType[MouseEvent]] = None,
        on_dblclick: Optional[EventType[()] | EventType[MouseEvent]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = None,
        on_layeradd: Optional[EventType[()] | EventType[LayerEvent]] = None,
        on_layerremove: Optional[EventType[()] | EventType[LayerEvent]] = None,
        on_load: Optional[EventType[()] | EventType[str]] = None,
        on_locationerror: Optional[EventType[()] | EventType[ErrorEvent]] = None,
        on_locationfound: Optional[EventType[()] | EventType[LatLng]] = None,
        on_mount: Optional[EventType[()]] = None,
        on_mouse_down: Optional[EventType[()]] = None,
        on_mouse_enter: Optional[EventType[()]] = None,
        on_mouse_leave: Optional[EventType[()]] = None,
        on_mouse_move: Optional[EventType[()]] = None,
        on_mouse_out: Optional[EventType[()]] = None,
        on_mouse_over: Optional[EventType[()]] = None,
        on_mouse_up: Optional[EventType[()]] = None,
        on_mousedown: Optional[EventType[()] | EventType[MouseEvent]] = None,
        on_mousemove: Optional[EventType[()] | EventType[MouseEvent]] = None,
        on_mouseout: Optional[EventType[()] | EventType[MouseEvent]] = None,
        on_mouseover: Optional[EventType[()] | EventType[MouseEvent]] = None,
        on_mouseup: Optional[EventType[()] | EventType[MouseEvent]] = None,
        on_move: Optional[EventType[()] | EventType[MoveEvent]] = None,
        on_move_end: Optional[EventType[()] | EventType[MoveEvent]] = None,
        on_move_start: Optional[EventType[()] | EventType[MoveEvent]] = None,
        on_popupclose: Optional[EventType[()] | EventType[PopupEvent]] = None,
        on_popupopen: Optional[EventType[()] | EventType[PopupEvent]] = None,
        on_resize: Optional[EventType[()] | EventType[ResizeEvent]] = None,
        on_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_tooltipclose: Optional[EventType[()] | EventType[TooltipEvent]] = None,
        on_tooltipopen: Optional[EventType[()] | EventType[TooltipEvent]] = None,
        on_unload: Optional[EventType[()] | EventType[str]] = None,
        on_unmount: Optional[EventType[()]] = None,
        on_viewreset: Optional[EventType[()] | EventType[str]] = None,
        on_zoom: Optional[EventType[()] | EventType[ZoomEvent]] = None,
        on_zoom_end: Optional[EventType[()] | EventType[ZoomEvent]] = None,
        on_zoom_levels_change: Optional[
            EventType[()] | EventType[ZoomLevelsChangeEvent]
        ] = None,
        on_zoom_start: Optional[EventType[()] | EventType[ZoomEvent]] = None,
        **props,
    ) -> "MapConsumer":
        """Create a MapConsumer.

        This method maps Python-style event handlers (on_move) to
        the Leaflet-style event names (move).
        """
        ...

    def add_hooks(self) -> list[Var]: ...
