"""Stub file for reflex_enterprise/components/map/map_container.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 reflex_enterprise.components.map.types import LatLng, LatLngBounds

class MapContainerControlOptions(LazyBaseLeafletComponent):
    @classmethod
    def create(
        cls,
        *children,
        attribution_control: Var[bool] | bool | None = None,
        zoom_control: Var[bool] | bool | 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[PointerEventInfo]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = 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_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "MapContainerControlOptions":
        """Create the Reflex Enterprise component."""
        ...

class MapContainerInteractionOptions(LazyBaseLeafletComponent):
    @classmethod
    def create(
        cls,
        *children,
        box_zoom: Var[bool] | bool | None = None,
        double_click_zoom: Var[bool | str] | bool | str | None = None,
        dragging: Var[bool] | bool | None = None,
        zoom_snap: Var[float] | float | None = None,
        zoom_delta: Var[float] | float | None = None,
        track_resize: Var[bool] | bool | 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[PointerEventInfo]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = 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_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "MapContainerInteractionOptions":
        """Create the Reflex Enterprise component."""
        ...

class MapContainerPanningInertiaOptions(LazyBaseLeafletComponent):
    @classmethod
    def create(
        cls,
        *children,
        inertia: Var[bool] | bool | None = None,
        inertia_deceleration: Var[int] | int | None = None,
        inertia_max_speed: Var[int] | int | None = None,
        ease_linearity: Var[float] | float | None = None,
        world_copy_jump: Var[bool] | bool | None = None,
        max_bounds_viscosity: Var[float] | float | 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[PointerEventInfo]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = 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_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "MapContainerPanningInertiaOptions":
        """Create the Reflex Enterprise component."""
        ...

class MapContainerKeyboardNavigationOptions(LazyBaseLeafletComponent):
    @classmethod
    def create(
        cls,
        *children,
        keyboard: Var[bool] | bool | None = None,
        keyboard_pan_delta: Var[int] | int | 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[PointerEventInfo]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = 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_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "MapContainerKeyboardNavigationOptions":
        """Create the Reflex Enterprise component."""
        ...

class MapContainerMouseWheelOptions(LazyBaseLeafletComponent):
    @classmethod
    def create(
        cls,
        *children,
        scroll_wheel_zoom: Var[bool | str] | bool | str | None = None,
        wheel_debounce_time: Var[int] | int | None = None,
        wheel_px_per_zoom_level: Var[int] | int | None = None,
        wheel_delta: Var[int] | int | 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[PointerEventInfo]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = 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_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "MapContainerMouseWheelOptions":
        """Create the Reflex Enterprise component."""
        ...

class MapContainerTouchInteractionOptions(LazyBaseLeafletComponent):
    @classmethod
    def create(
        cls,
        *children,
        tap_hold: Var[bool] | bool | None = None,
        tap_tolerance: Var[int] | int | None = None,
        touch_zoom: Var[bool | str] | bool | str | None = None,
        bounce_at_zoom_limits: Var[bool] | bool | 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[PointerEventInfo]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = 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_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "MapContainerTouchInteractionOptions":
        """Create the Reflex Enterprise component."""
        ...

class MapContainerMapStateOptions(LazyBaseLeafletComponent):
    @classmethod
    def create(
        cls,
        *children,
        crs: Var[str] | str | None = None,
        center: LatLng | Var[LatLng] | None = None,
        zoom: Var[float] | float | None = None,
        min_zoom: Var[int] | int | None = None,
        max_zoom: Var[int] | int | None = None,
        max_bounds: LatLngBounds | Var[LatLngBounds] | 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[PointerEventInfo]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = 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_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "MapContainerMapStateOptions":
        """Create the Reflex Enterprise component."""
        ...

class MapContainerAnimationOptions(LazyBaseLeafletComponent):
    @classmethod
    def create(
        cls,
        *children,
        zoom_animation: Var[bool] | bool | None = None,
        zoom_animation_threshold: Var[int] | int | None = None,
        fade_animation: Var[int] | int | None = None,
        marker_zoom_animation: Var[bool] | bool | None = None,
        transform_3d_limit: Var[int] | int | 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[PointerEventInfo]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = 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_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "MapContainerAnimationOptions":
        """Create the Reflex Enterprise component."""
        ...

class MapContainer(
    MapContainerControlOptions,
    MapContainerInteractionOptions,
    MapContainerPanningInertiaOptions,
    MapContainerKeyboardNavigationOptions,
    MapContainerMouseWheelOptions,
    MapContainerTouchInteractionOptions,
    MapContainerMapStateOptions,
    MapContainerAnimationOptions,
    LazyBaseLeafletComponent,
):
    @classmethod
    def create(
        cls,
        *children,
        id: str | None,
        prefer_canvas: Var[bool] | bool | None = None,
        attribution_control: Var[bool] | bool | None = None,
        zoom_control: Var[bool] | bool | None = None,
        box_zoom: Var[bool] | bool | None = None,
        double_click_zoom: Var[bool | str] | bool | str | None = None,
        dragging: Var[bool] | bool | None = None,
        zoom_snap: Var[float] | float | None = None,
        zoom_delta: Var[float] | float | None = None,
        track_resize: Var[bool] | bool | None = None,
        inertia: Var[bool] | bool | None = None,
        inertia_deceleration: Var[int] | int | None = None,
        inertia_max_speed: Var[int] | int | None = None,
        ease_linearity: Var[float] | float | None = None,
        world_copy_jump: Var[bool] | bool | None = None,
        max_bounds_viscosity: Var[float] | float | None = None,
        keyboard: Var[bool] | bool | None = None,
        keyboard_pan_delta: Var[int] | int | None = None,
        scroll_wheel_zoom: Var[bool | str] | bool | str | None = None,
        wheel_debounce_time: Var[int] | int | None = None,
        wheel_px_per_zoom_level: Var[int] | int | None = None,
        wheel_delta: Var[int] | int | None = None,
        tap_hold: Var[bool] | bool | None = None,
        tap_tolerance: Var[int] | int | None = None,
        touch_zoom: Var[bool | str] | bool | str | None = None,
        bounce_at_zoom_limits: Var[bool] | bool | None = None,
        crs: Var[str] | str | None = None,
        center: LatLng | Var[LatLng] | None = None,
        zoom: Var[float] | float | None = None,
        min_zoom: Var[int] | int | None = None,
        max_zoom: Var[int] | int | None = None,
        max_bounds: LatLngBounds | Var[LatLngBounds] | None = None,
        zoom_animation: Var[bool] | bool | None = None,
        zoom_animation_threshold: Var[int] | int | None = None,
        fade_animation: Var[int] | int | None = None,
        marker_zoom_animation: Var[bool] | bool | None = None,
        transform_3d_limit: Var[int] | int | None = None,
        style: Sequence[Mapping[str, Any]]
        | Mapping[str, Any]
        | Var[Mapping[str, Any]]
        | Breakpoints
        | None = None,
        key: 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[PointerEventInfo]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_focus: Optional[EventType[()]] = 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_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "MapContainer":
        """Create a MapContainer."""
        ...

    def add_custom_code(self) -> list[str]: ...
