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

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

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

from reflex_enterprise.components.mantine.base import MantineCoreBase

class TreeNodeData(TypedDict):
    value: str
    label: Any
    children: list[NestedTreeNode | LeafNode]

class NestedTreeNode(TypedDict):
    value: str
    label: Any
    children: list[NestedTreeNode2 | LeafNode]

class NestedTreeNode2(TypedDict):
    value: str
    label: Any
    children: list[NestedTreeNode3 | LeafNode]

class NestedTreeNode3(TypedDict):
    value: str
    label: Any
    children: list[NestedTreeNode4 | LeafNode]

class NestedTreeNode4(TypedDict):
    value: str
    label: Any
    children: list[LeafNode]

class LeafNode(TypedDict):
    value: str
    label: Any

class Tree(MantineCoreBase):
    @classmethod
    def create(
        cls,
        *children,
        data: Var[list[TreeNodeData]] | list[TreeNodeData] | None = None,
        label_key: Var[str] | str | None = None,
        level: Var[int] | int | None = None,
        value_key: Var[str] | str | None = None,
        value: Var[list[str]] | list[str] | None = None,
        default_value: Var[list[str]] | list[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_change: Optional[EventType[Any]] = 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_node_click: Optional[EventType[Any]] = None,
        on_node_collapse: Optional[EventType[Any]] = None,
        on_node_expand: Optional[EventType[Any]] = None,
        on_scroll: Optional[EventType[()]] = None,
        on_scroll_end: Optional[EventType[()]] = None,
        on_unmount: Optional[EventType[()]] = None,
        **props,
    ) -> "Tree":
        """Create the Reflex Enterprise component."""
        ...

tree = Tree.create
