"""Stub file for custom_components/reflex_calendar/calendar.py"""
# ------------------- DO NOT EDIT ----------------------
# This file was generated by `reflex/utils/pyi_generator.py`!
# ------------------------------------------------------

from typing import Any, Dict, Literal, Optional, Union, overload
from reflex.vars import Var, BaseVar, ComputedVar
from reflex.event import EventChain, EventHandler, EventSpec
from reflex.style import Style
from datetime import datetime
from typing import Any, Literal
import reflex as rx
from reflex.utils import format, imports

LiteralCalendarType = Literal["gregory", "hebrew", "islamic", "iso8601"]
LiteralDefaultView = Literal["month", "year", "decade", "century"]
LiteralReturnValue = Literal["start", "end", "range"]

class Calendar(rx.Component):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        allow_partial_range: Optional[Union[Var[bool], bool]] = None,
        calendar_type: Optional[
            Union[
                Var[Literal["gregory", "hebrew", "islamic", "iso8601"]],
                Literal["gregory", "hebrew", "islamic", "iso8601"],
            ]
        ] = None,
        default_value: Optional[Union[Var[str], str]] = None,
        default_view: Optional[
            Union[
                Var[Literal["month", "year", "decade", "century"]],
                Literal["month", "year", "decade", "century"],
            ]
        ] = None,
        go_to_range_start_on_select: Optional[Union[Var[bool], bool]] = None,
        locale: Optional[Union[Var[str], str]] = None,
        max_date: Optional[Union[Var[str], str]] = None,
        max_detail: Optional[
            Union[
                Var[Literal["month", "year", "decade", "century"]],
                Literal["month", "year", "decade", "century"],
            ]
        ] = None,
        min_date: Optional[Union[Var[str], str]] = None,
        min_detail: Optional[
            Union[
                Var[Literal["month", "year", "decade", "century"]],
                Literal["month", "year", "decade", "century"],
            ]
        ] = None,
        navigation_aria_label: Optional[Union[Var[str], str]] = None,
        navigation_aria_live: Optional[Union[Var[str], str]] = None,
        navigation_label: Optional[Union[Var[str], str]] = None,
        next_2_aria_label: Optional[Union[Var[str], str]] = None,
        next_2_label: Optional[Union[Var[str], str]] = None,
        next_aria_label: Optional[Union[Var[str], str]] = None,
        next_label: Optional[Union[Var[str], str]] = None,
        prev_2_aria_label: Optional[Union[Var[str], str]] = None,
        prev_2_label: Optional[Union[Var[str], str]] = None,
        prev_aria_label: Optional[Union[Var[str], str]] = None,
        prev_label: Optional[Union[Var[str], str]] = None,
        return_value: Optional[
            Union[
                Var[Literal["start", "end", "range"]], Literal["start", "end", "range"]
            ]
        ] = None,
        select_range: Optional[Union[Var[bool], bool]] = None,
        show_double_view: Optional[Union[Var[bool], bool]] = None,
        show_fixed_number_of_weeks: Optional[Union[Var[bool], bool]] = None,
        show_navigation: Optional[Union[Var[bool], bool]] = None,
        show_neighouring_century: Optional[Union[Var[bool], bool]] = None,
        show_neighbouring_decade: Optional[Union[Var[bool], bool]] = None,
        show_neighbouring_month: Optional[Union[Var[bool], bool]] = None,
        show_week_numbers: Optional[Union[Var[bool], bool]] = None,
        value: Optional[Union[Var[str], str]] = None,
        view: Optional[
            Union[
                Var[Literal["month", "year", "decade", "century"]],
                Literal["month", "year", "decade", "century"],
            ]
        ] = None,
        style: Optional[Style] = None,
        key: Optional[Any] = None,
        id: Optional[Any] = None,
        class_name: Optional[Any] = None,
        autofocus: Optional[bool] = None,
        custom_attrs: Optional[Dict[str, Union[Var, str]]] = None,
        on_active_start_date_change: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_blur: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_change: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_click: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_click_day: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_click_decade: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_click_month: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_click_week_number: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_click_year: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_drill_down: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_drill_up: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_focus: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_mount: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_scroll: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        on_view_change: Optional[
            Union[EventHandler, EventSpec, list, function, BaseVar]
        ] = None,
        **props
    ) -> "Calendar":
        """Create a Calendar component."""
        ...
    def get_event_triggers(self) -> dict[str, Any]: ...

calendar = Calendar.create

def reformat_date(date: str, output_format: str = "%Y-%m-%d") -> datetime: ...
