"""Stub file for reflex_enterprise/components/mantine/combobox.py"""

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

import reflex as rx
from reflex.components.component import Component
from reflex.components.core.breakpoints import Breakpoints
from reflex.components.props import PropsBase
from reflex.event import EventType, PointerEventInfo
from reflex.vars.base import Var

from reflex_enterprise.components.mantine.base import BaseMantineInput, MantineCoreBase

class ComboboxBase(MantineCoreBase):
    @classmethod
    def create(
        cls,
        *children,
        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,
    ) -> "ComboboxBase":
        """Create the Reflex Enterprise component."""
        ...

class MiddlewaresProps(PropsBase):
    shift: rx.Var[bool]
    flip: rx.Var[bool]
    inline: rx.Var[bool]

class Combobox(BaseMantineInput, ComboboxBase):
    def add_hooks(self): ...
    @classmethod
    def create(
        cls,
        *children,
        arrow_offset: Var[int] | int | None = None,
        arrow_position: Literal["center", "side"]
        | Var[Literal["center", "side"]]
        | None = None,
        arrow_radius: Var[int] | int | None = None,
        arrow_size: Var[int] | int | None = None,
        disabled: Var[bool] | bool | None = None,
        dropdown_padding: Var[int | str] | int | str | None = None,
        floating_strategy: Literal["absolute", "fixed"]
        | Var[Literal["absolute", "fixed"]]
        | None = None,
        hide_detached: Var[bool] | bool | None = None,
        keep_mounted: Var[bool] | bool | None = None,
        middlewares: MiddlewaresProps
        | Var[MiddlewaresProps | dict[str, Any]]
        | dict[str, Any]
        | None = None,
        offset: Var[int] | int | None = None,
        overlay_props: Var[dict[str, Any]] | dict[str, Any] | None = None,
        portal_props: Var[dict[str, Any]] | dict[str, Any] | None = None,
        position: Literal["bottom", "left", "right", "top"]
        | Var[Literal["bottom", "left", "right", "top"]]
        | None = None,
        position_dependencies: Var[list[Any]] | list[Any] | None = None,
        radius: Var[int | str] | int | str | None = None,
        reset_selection_on_option_hover: Var[bool] | bool | None = None,
        return_focus: Var[bool] | bool | None = None,
        shadow: Var[str] | str | None = None,
        store: Any | Var[Any] | None = None,
        transition_props: Var[dict[str, Any]] | dict[str, Any] | None = None,
        width: Literal["target"]
        | Var[Literal["target"] | int | str]
        | int
        | str
        | None = None,
        with_arrow: Var[bool] | bool | None = None,
        with_overlay: Var[bool] | bool | None = None,
        with_portal: Var[bool] | bool | None = None,
        z_index: Var[int] | int | None = None,
        clearable: Var[bool] | bool | None = None,
        placeholder: Var[str] | str | None = None,
        multiline: Var[bool] | bool | None = None,
        read_only: 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,
        left_section: Component | Var[Component | str] | str | None = None,
        left_section_props: Var[dict] | dict | None = None,
        left_section_width: Var[float | str] | float | str | None = None,
        left_section_pointer_events: Var[str] | str | None = None,
        right_section: Component | Var[Component | str] | str | None = None,
        right_section_props: Var[dict] | dict | None = None,
        right_section_width: Var[float | str] | float | str | None = None,
        right_section_pointer_events: Var[str] | str | None = None,
        on_blur: Optional[EventType[()]] = None,
        on_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_close: Optional[EventType[()]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_dismiss: Optional[EventType[()]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_enter_transition_end: Optional[EventType[()]] = None,
        on_exit_transition_end: Optional[EventType[()]] = 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_open: Optional[EventType[()]] = None,
        on_option_submit: Optional[
            EventType[()] | EventType[tuple[str, dict[str, Any]]]
        ] = None,
        on_position_change: Optional[EventType[()] | EventType[float]] = None,
        on_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "Combobox":
        """Create the Reflex Enterprise component."""
        ...

class ComboboxOptions(ComboboxBase):
    @classmethod
    def create(
        cls,
        *children,
        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,
    ) -> "ComboboxOptions":
        """Create the Reflex Enterprise component."""
        ...

class ComboboxOption(ComboboxBase):
    @classmethod
    def create(
        cls,
        *children,
        active: Var[bool] | bool | None = None,
        disabled: Var[bool] | bool | None = None,
        selected: Var[bool] | bool | None = None,
        value: Var[str] | str | 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,
    ) -> "ComboboxOption":
        """Create the Reflex Enterprise component."""
        ...

class ComboboxTarget(ComboboxBase):
    @classmethod
    def create(
        cls,
        *children,
        autocomplete: Var[str] | str | None = None,
        target: Any | Var[Any] | None = None,
        ref_prop: Var[str] | str | None = None,
        target_type: Literal["button", "input"]
        | Var[Literal["button", "input"]]
        | None = None,
        with_aria_attributes: Var[bool] | bool | None = None,
        with_expanded_attribute: Var[bool] | bool | None = None,
        with_keyboard_navigation: 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,
    ) -> "ComboboxTarget":
        """Create the Reflex Enterprise component."""
        ...

class ComboboxDropdownTarget(ComboboxBase):
    @classmethod
    def create(
        cls,
        *children,
        target: Any | Var[Any] | None = None,
        ref_prop: Var[str] | str | 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,
    ) -> "ComboboxDropdownTarget":
        """Create the Reflex Enterprise component."""
        ...

class ComboboxEventsTarget(ComboboxTarget):
    @classmethod
    def create(
        cls,
        *children,
        autocomplete: Var[str] | str | None = None,
        target: Any | Var[Any] | None = None,
        ref_prop: Var[str] | str | None = None,
        target_type: Literal["button", "input"]
        | Var[Literal["button", "input"]]
        | None = None,
        with_aria_attributes: Var[bool] | bool | None = None,
        with_expanded_attribute: Var[bool] | bool | None = None,
        with_keyboard_navigation: 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,
    ) -> "ComboboxEventsTarget":
        """Create the Reflex Enterprise component."""
        ...

class ComboboxDropdown(ComboboxBase):
    @classmethod
    def create(
        cls,
        *children,
        hidden: 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,
    ) -> "ComboboxDropdown":
        """Create the Reflex Enterprise component."""
        ...

class ComboboxGroup(ComboboxBase):
    @classmethod
    def create(
        cls,
        *children,
        label: Component | Var[Component | str] | str | 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,
    ) -> "ComboboxGroup":
        """Create the Reflex Enterprise component."""
        ...

class ComboboxNamespace(rx.ComponentNamespace):
    options = staticmethod(ComboboxOptions.create)
    option = staticmethod(ComboboxOption.create)
    target = staticmethod(ComboboxTarget.create)
    dropdown_target = staticmethod(ComboboxDropdownTarget.create)
    events_target = staticmethod(ComboboxEventsTarget.create)
    dropdown = staticmethod(ComboboxDropdown.create)
    group = staticmethod(ComboboxGroup.create)

    @staticmethod
    def __call__(
        *children,
        arrow_offset: Var[int] | int | None = None,
        arrow_position: Literal["center", "side"]
        | Var[Literal["center", "side"]]
        | None = None,
        arrow_radius: Var[int] | int | None = None,
        arrow_size: Var[int] | int | None = None,
        disabled: Var[bool] | bool | None = None,
        dropdown_padding: Var[int | str] | int | str | None = None,
        floating_strategy: Literal["absolute", "fixed"]
        | Var[Literal["absolute", "fixed"]]
        | None = None,
        hide_detached: Var[bool] | bool | None = None,
        keep_mounted: Var[bool] | bool | None = None,
        middlewares: MiddlewaresProps
        | Var[MiddlewaresProps | dict[str, Any]]
        | dict[str, Any]
        | None = None,
        offset: Var[int] | int | None = None,
        overlay_props: Var[dict[str, Any]] | dict[str, Any] | None = None,
        portal_props: Var[dict[str, Any]] | dict[str, Any] | None = None,
        position: Literal["bottom", "left", "right", "top"]
        | Var[Literal["bottom", "left", "right", "top"]]
        | None = None,
        position_dependencies: Var[list[Any]] | list[Any] | None = None,
        radius: Var[int | str] | int | str | None = None,
        reset_selection_on_option_hover: Var[bool] | bool | None = None,
        return_focus: Var[bool] | bool | None = None,
        shadow: Var[str] | str | None = None,
        store: Any | Var[Any] | None = None,
        transition_props: Var[dict[str, Any]] | dict[str, Any] | None = None,
        width: Literal["target"]
        | Var[Literal["target"] | int | str]
        | int
        | str
        | None = None,
        with_arrow: Var[bool] | bool | None = None,
        with_overlay: Var[bool] | bool | None = None,
        with_portal: Var[bool] | bool | None = None,
        z_index: Var[int] | int | None = None,
        clearable: Var[bool] | bool | None = None,
        placeholder: Var[str] | str | None = None,
        multiline: Var[bool] | bool | None = None,
        read_only: 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,
        left_section: Component | Var[Component | str] | str | None = None,
        left_section_props: Var[dict] | dict | None = None,
        left_section_width: Var[float | str] | float | str | None = None,
        left_section_pointer_events: Var[str] | str | None = None,
        right_section: Component | Var[Component | str] | str | None = None,
        right_section_props: Var[dict] | dict | None = None,
        right_section_width: Var[float | str] | float | str | None = None,
        right_section_pointer_events: Var[str] | str | None = None,
        on_blur: Optional[EventType[()]] = None,
        on_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_close: Optional[EventType[()]] = None,
        on_context_menu: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_dismiss: Optional[EventType[()]] = None,
        on_double_click: Optional[EventType[()] | EventType[PointerEventInfo]] = None,
        on_enter_transition_end: Optional[EventType[()]] = None,
        on_exit_transition_end: Optional[EventType[()]] = 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_open: Optional[EventType[()]] = None,
        on_option_submit: Optional[
            EventType[()] | EventType[tuple[str, dict[str, Any]]]
        ] = None,
        on_position_change: Optional[EventType[()] | EventType[float]] = None,
        on_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "Combobox":
        """Create the Reflex Enterprise component."""
        ...

combobox = ComboboxNamespace()
