"""Stub file for reflex/components/recharts/charts.py"""

# ------------------- DO NOT EDIT ----------------------
# This file was generated by `reflex/utils/pyi_generator.py`!
# ------------------------------------------------------
from typing import Any, Callable, Dict, List, Literal, Optional, Union, overload

from reflex.constants.colors import Color
from reflex.event import EventHandler, EventSpec
from reflex.style import Style
from reflex.vars.base import Var

from .recharts import (
    RechartsCharts,
)

class ChartBase(RechartsCharts):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "ChartBase":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class CategoricalChartBase(ChartBase):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        data: Optional[Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]] = None,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        sync_id: Optional[Union[Var[str], str]] = None,
        sync_method: Optional[
            Union[Literal["index", "value"], Var[Literal["index", "value"]]]
        ] = None,
        layout: Optional[
            Union[
                Literal["horizontal", "vertical"],
                Var[Literal["horizontal", "vertical"]],
            ]
        ] = None,
        stack_offset: Optional[
            Union[
                Literal["expand", "none", "silhouette", "wiggle"],
                Var[Literal["expand", "none", "silhouette", "wiggle"]],
            ]
        ] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "CategoricalChartBase":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            data: The source data, in which each element is an object.
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            sync_id: If any two categorical charts(rx.line_chart, rx.area_chart, rx.bar_chart, rx.composed_chart) have the same sync_id, these two charts can sync the position GraphingTooltip, and the start_index, end_index of Brush.
            sync_method: When sync_id is provided, allows customisation of how the charts will synchronize GraphingTooltips and brushes. Using 'index' (default setting), other charts will reuse current datum's index within the data array. In cases where data does not have the same length, this might yield unexpected results. In that case use 'value' which will try to match other charts values, or a fully custom function which will receive tick, data as argument and should return an index. 'index' | 'value' | function
            layout: The layout of area in the chart. 'horizontal' | 'vertical'
            stack_offset: The type of offset function used to generate the lower and upper values in the series array. The four types are built-in offsets in d3-shape. 'expand' | 'none' | 'wiggle' | 'silhouette'
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class AreaChart(CategoricalChartBase):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        base_value: Optional[
            Union[
                Literal["auto", "dataMax", "dataMin"],
                Var[Union[Literal["auto", "dataMax", "dataMin"], int]],
                int,
            ]
        ] = None,
        data: Optional[Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]] = None,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        sync_id: Optional[Union[Var[str], str]] = None,
        sync_method: Optional[
            Union[Literal["index", "value"], Var[Literal["index", "value"]]]
        ] = None,
        layout: Optional[
            Union[
                Literal["horizontal", "vertical"],
                Var[Literal["horizontal", "vertical"]],
            ]
        ] = None,
        stack_offset: Optional[
            Union[
                Literal["expand", "none", "silhouette", "wiggle"],
                Var[Literal["expand", "none", "silhouette", "wiggle"]],
            ]
        ] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "AreaChart":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            base_value: The base value of area. Number | 'dataMin' | 'dataMax' | 'auto'
            data: The source data, in which each element is an object.
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            sync_id: If any two categorical charts(rx.line_chart, rx.area_chart, rx.bar_chart, rx.composed_chart) have the same sync_id, these two charts can sync the position GraphingTooltip, and the start_index, end_index of Brush.
            sync_method: When sync_id is provided, allows customisation of how the charts will synchronize GraphingTooltips and brushes. Using 'index' (default setting), other charts will reuse current datum's index within the data array. In cases where data does not have the same length, this might yield unexpected results. In that case use 'value' which will try to match other charts values, or a fully custom function which will receive tick, data as argument and should return an index. 'index' | 'value' | function
            layout: The layout of area in the chart. 'horizontal' | 'vertical'
            stack_offset: The type of offset function used to generate the lower and upper values in the series array. The four types are built-in offsets in d3-shape. 'expand' | 'none' | 'wiggle' | 'silhouette'
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class BarChart(CategoricalChartBase):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        bar_category_gap: Optional[Union[Var[Union[int, str]], int, str]] = None,
        bar_gap: Optional[Union[Var[Union[int, str]], int, str]] = None,
        bar_size: Optional[Union[Var[int], int]] = None,
        max_bar_size: Optional[Union[Var[int], int]] = None,
        stack_offset: Optional[
            Union[
                Literal["expand", "none", "silhouette", "wiggle"],
                Var[Literal["expand", "none", "silhouette", "wiggle"]],
            ]
        ] = None,
        reverse_stack_order: Optional[Union[Var[bool], bool]] = None,
        data: Optional[Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]] = None,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        sync_id: Optional[Union[Var[str], str]] = None,
        sync_method: Optional[
            Union[Literal["index", "value"], Var[Literal["index", "value"]]]
        ] = None,
        layout: Optional[
            Union[
                Literal["horizontal", "vertical"],
                Var[Literal["horizontal", "vertical"]],
            ]
        ] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "BarChart":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            bar_category_gap: The gap between two bar categories, which can be a percent value or a fixed value. Percentage | Number
            bar_gap: The gap between two bars in the same category, which can be a percent value or a fixed value. Percentage | Number
            bar_size: The width of all the bars in the chart. Number
            max_bar_size: The maximum width of all the bars in a horizontal BarChart, or maximum height in a vertical BarChart.
            stack_offset: The type of offset function used to generate the lower and upper values in the series array. The four types are built-in offsets in d3-shape. 'expand' | 'none' | 'wiggle' | 'silhouette'
            reverse_stack_order: If false set, stacked items will be rendered left to right. If true set, stacked items will be rendered right to left. (Render direction affects SVG layering, not x position.)
            data: The source data, in which each element is an object.
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            sync_id: If any two categorical charts(rx.line_chart, rx.area_chart, rx.bar_chart, rx.composed_chart) have the same sync_id, these two charts can sync the position GraphingTooltip, and the start_index, end_index of Brush.
            sync_method: When sync_id is provided, allows customisation of how the charts will synchronize GraphingTooltips and brushes. Using 'index' (default setting), other charts will reuse current datum's index within the data array. In cases where data does not have the same length, this might yield unexpected results. In that case use 'value' which will try to match other charts values, or a fully custom function which will receive tick, data as argument and should return an index. 'index' | 'value' | function
            layout: The layout of area in the chart. 'horizontal' | 'vertical'
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class LineChart(CategoricalChartBase):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        data: Optional[Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]] = None,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        sync_id: Optional[Union[Var[str], str]] = None,
        sync_method: Optional[
            Union[Literal["index", "value"], Var[Literal["index", "value"]]]
        ] = None,
        layout: Optional[
            Union[
                Literal["horizontal", "vertical"],
                Var[Literal["horizontal", "vertical"]],
            ]
        ] = None,
        stack_offset: Optional[
            Union[
                Literal["expand", "none", "silhouette", "wiggle"],
                Var[Literal["expand", "none", "silhouette", "wiggle"]],
            ]
        ] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "LineChart":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            data: The source data, in which each element is an object.
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            sync_id: If any two categorical charts(rx.line_chart, rx.area_chart, rx.bar_chart, rx.composed_chart) have the same sync_id, these two charts can sync the position GraphingTooltip, and the start_index, end_index of Brush.
            sync_method: When sync_id is provided, allows customisation of how the charts will synchronize GraphingTooltips and brushes. Using 'index' (default setting), other charts will reuse current datum's index within the data array. In cases where data does not have the same length, this might yield unexpected results. In that case use 'value' which will try to match other charts values, or a fully custom function which will receive tick, data as argument and should return an index. 'index' | 'value' | function
            layout: The layout of area in the chart. 'horizontal' | 'vertical'
            stack_offset: The type of offset function used to generate the lower and upper values in the series array. The four types are built-in offsets in d3-shape. 'expand' | 'none' | 'wiggle' | 'silhouette'
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class ComposedChart(CategoricalChartBase):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        base_value: Optional[
            Union[
                Literal["auto", "dataMax", "dataMin"],
                Var[Union[Literal["auto", "dataMax", "dataMin"], int]],
                int,
            ]
        ] = None,
        bar_category_gap: Optional[Union[Var[Union[int, str]], int, str]] = None,
        bar_gap: Optional[Union[Var[Union[int, str]], int, str]] = None,
        bar_size: Optional[Union[Var[int], int]] = None,
        reverse_stack_order: Optional[Union[Var[bool], bool]] = None,
        data: Optional[Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]] = None,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        sync_id: Optional[Union[Var[str], str]] = None,
        sync_method: Optional[
            Union[Literal["index", "value"], Var[Literal["index", "value"]]]
        ] = None,
        layout: Optional[
            Union[
                Literal["horizontal", "vertical"],
                Var[Literal["horizontal", "vertical"]],
            ]
        ] = None,
        stack_offset: Optional[
            Union[
                Literal["expand", "none", "silhouette", "wiggle"],
                Var[Literal["expand", "none", "silhouette", "wiggle"]],
            ]
        ] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "ComposedChart":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            base_value: The base value of area. Number | 'dataMin' | 'dataMax' | 'auto'
            bar_category_gap: The gap between two bar categories, which can be a percent value or a fixed value. Percentage | Number
            bar_gap: The gap between two bars in the same category, which can be a percent value or a fixed value. Percentage | Number
            bar_size: The width of all the bars in the chart. Number
            reverse_stack_order: If false set, stacked items will be rendered left to right. If true set, stacked items will be rendered right to left. (Render direction affects SVG layering, not x position.)
            data: The source data, in which each element is an object.
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            sync_id: If any two categorical charts(rx.line_chart, rx.area_chart, rx.bar_chart, rx.composed_chart) have the same sync_id, these two charts can sync the position GraphingTooltip, and the start_index, end_index of Brush.
            sync_method: When sync_id is provided, allows customisation of how the charts will synchronize GraphingTooltips and brushes. Using 'index' (default setting), other charts will reuse current datum's index within the data array. In cases where data does not have the same length, this might yield unexpected results. In that case use 'value' which will try to match other charts values, or a fully custom function which will receive tick, data as argument and should return an index. 'index' | 'value' | function
            layout: The layout of area in the chart. 'horizontal' | 'vertical'
            stack_offset: The type of offset function used to generate the lower and upper values in the series array. The four types are built-in offsets in d3-shape. 'expand' | 'none' | 'wiggle' | 'silhouette'
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class PieChart(ChartBase):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "PieChart":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class RadarChart(ChartBase):
    def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        data: Optional[Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]] = None,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        cx: Optional[Union[Var[Union[int, str]], int, str]] = None,
        cy: Optional[Union[Var[Union[int, str]], int, str]] = None,
        start_angle: Optional[Union[Var[int], int]] = None,
        end_angle: Optional[Union[Var[int], int]] = None,
        inner_radius: Optional[Union[Var[Union[int, str]], int, str]] = None,
        outer_radius: Optional[Union[Var[Union[int, str]], int, str]] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "RadarChart":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            data: The source data, in which each element is an object.
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            cx: The The x-coordinate of center. If set a percentage, the final value is obtained by multiplying the percentage of width. Number | Percentage
            cy: The The y-coordinate of center. If set a percentage, the final value is obtained by multiplying the percentage of height. Number | Percentage
            start_angle: The angle of first radial direction line.
            end_angle: The angle of last point in the circle which should be startAngle - 360 or startAngle + 360. We'll calculate the direction of chart by 'startAngle' and 'endAngle'.
            inner_radius: The inner radius of first circle grid. If set a percentage, the final value is obtained by multiplying the percentage of maxRadius which is calculated by the width, height, cx, cy. Number | Percentage
            outer_radius: The outer radius of last circle grid. If set a percentage, the final value is obtained by multiplying the percentage of maxRadius which is calculated by the width, height, cx, cy. Number | Percentage
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class RadialBarChart(ChartBase):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        data: Optional[Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]] = None,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        cx: Optional[Union[Var[Union[int, str]], int, str]] = None,
        cy: Optional[Union[Var[Union[int, str]], int, str]] = None,
        start_angle: Optional[Union[Var[int], int]] = None,
        end_angle: Optional[Union[Var[int], int]] = None,
        inner_radius: Optional[Union[Var[Union[int, str]], int, str]] = None,
        outer_radius: Optional[Union[Var[Union[int, str]], int, str]] = None,
        bar_category_gap: Optional[Union[Var[Union[int, str]], int, str]] = None,
        bar_gap: Optional[Union[Var[str], str]] = None,
        bar_size: Optional[Union[Var[int], int]] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "RadialBarChart":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            data: The source data which each element is an object.
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            cx: The The x-coordinate of center. If set a percentage, the final value is obtained by multiplying the percentage of width. Number | Percentage
            cy: The The y-coordinate of center. If set a percentage, the final value is obtained by multiplying the percentage of height. Number | Percentage
            start_angle: The angle of first radial direction line.
            end_angle: The angle of last point in the circle which should be startAngle - 360 or startAngle + 360. We'll calculate the direction of chart by 'startAngle' and 'endAngle'.
            inner_radius: The inner radius of first circle grid. If set a percentage, the final value is obtained by multiplying the percentage of maxRadius which is calculated by the width, height, cx, cy. Number | Percentage
            outer_radius: The outer radius of last circle grid. If set a percentage, the final value is obtained by multiplying the percentage of maxRadius which is calculated by the width, height, cx, cy. Number | Percentage
            bar_category_gap: The gap between two bar categories, which can be a percent value or a fixed value. Percentage | Number
            bar_gap: The gap between two bars in the same category, which can be a percent value or a fixed value. Percentage | Number
            bar_size: The size of each bar. If the barSize is not specified, the size of bar will be calculated by the barCategoryGap, barGap and the quantity of bar groups.
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class ScatterChart(ChartBase):
    def get_event_triggers(self) -> dict[str, Union[Var, Any]]: ...
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "ScatterChart":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class FunnelChart(ChartBase):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        layout: Optional[Union[Var[str], str]] = None,
        margin: Optional[Union[Dict[str, Any], Var[Dict[str, Any]]]] = None,
        stroke: Optional[Union[Color, Var[Union[Color, str]], str]] = None,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = 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_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "FunnelChart":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            layout: The layout of bars in the chart. centeric
            margin: The sizes of whitespace around the chart, i.e. {"top": 50, "right": 30, "left": 20, "bottom": 5}.
            stroke: The stroke color of each bar. String | Object
            width: The width of chart container. String or Integer
            height: The height of chart container.
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The chart component wrapped in a responsive container.
        """
        ...

class Treemap(RechartsCharts):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        width: Optional[Union[Var[Union[int, str]], int, str]] = None,
        height: Optional[Union[Var[Union[int, str]], int, str]] = None,
        data: Optional[Union[List[Dict[str, Any]], Var[List[Dict[str, Any]]]]] = None,
        data_key: Optional[Union[Var[Union[int, str]], int, str]] = None,
        aspect_ratio: Optional[Union[Var[int], int]] = None,
        is_animation_active: Optional[Union[Var[bool], bool]] = None,
        animation_begin: Optional[Union[Var[int], int]] = None,
        animation_duration: Optional[Union[Var[int], int]] = None,
        animation_easing: Optional[
            Union[
                Literal["ease", "ease-in", "ease-in-out", "ease-out", "linear"],
                Var[Literal["ease", "ease-in", "ease-in-out", "ease-out", "linear"]],
            ]
        ] = 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_animation_end: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_animation_start: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_blur: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_click: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_focus: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mount: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        on_scroll: Optional[Union[EventHandler, EventSpec, list, Callable, Var]] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, Var]
        ] = None,
        **props,
    ) -> "Treemap":
        """Create a chart component.

        Args:
            *children: The children of the chart component.
            width: The width of chart container. String or Integer
            height: The height of chart container.
            data: data of treemap. Array
            data_key: The key of a group of data which should be unique in a treemap. String | Number | Function
            aspect_ratio: The treemap will try to keep every single rectangle's aspect ratio near the aspectRatio given. Number
            is_animation_active: If set false, animation of area will be disabled.
            animation_begin: Specifies when the animation should begin, the unit of this option is ms.
            animation_duration: Specifies the duration of animation, the unit of this option is ms.
            animation_easing: The type of easing function. 'ease' | 'ease-in' | 'ease-out' | 'ease-in-out' | 'linear'
            style: The style of the component.
            key: A unique key for the component.
            id: The id for the component.
            class_name: The class name for the component.
            autofocus: Whether the component should take the focus once the page is loaded
            custom_attrs: custom attribute
            **props: The properties of the chart component.

        Returns:
            The Treemap component wrapped in a responsive container.
        """
        ...

area_chart = AreaChart.create
bar_chart = BarChart.create
line_chart = LineChart.create
composed_chart = ComposedChart.create
pie_chart = PieChart.create
radar_chart = RadarChart.create
radial_bar_chart = RadialBarChart.create
scatter_chart = ScatterChart.create
funnel_chart = FunnelChart.create
treemap = Treemap.create
