"""Stub file for reflex_enterprise/components/ag_grid/resource.py"""

# ------------------- DO NOT EDIT ----------------------
# This file was generated by `reflex/utils/pyi_generator.py`!
# ------------------------------------------------------
from types import SimpleNamespace
from typing import Any

import reflex as rx
from reflex.components.props import PropsBase
from reflex.vars import LiteralStringVar
from reflex.vars.base import Var
from reflex.vars.function import ArgsFunctionOperation

from reflex_enterprise.utils import arrow_func

def value_func_factory(
    return_expr: str | Var[str], known_components: list[str] | None = None
) -> ArgsFunctionOperation | LiteralStringVar: ...

class AGFilters(SimpleNamespace):
    text = "agTextColumnFilter"
    number = "agNumberColumnFilter"
    date = "agDateColumnFilter"
    set = "agSetColumnFilter"
    multi = "agMultiColumnFilter"

class AGAggregations(SimpleNamespace):
    sum = "sum"
    count = "count"
    min = "min"
    max = "max"
    avg = "avg"
    first = "first"
    last = "last"

class AGEditors(SimpleNamespace):
    text = "agTextCellEditor"
    large_text = "agLargeTextCellEditor"
    select = "agSelectCellEditor"
    rich_select = "agRichSelectCellEditor"
    number = "agNumberCellEditor"
    date = "agDateCellEditor"
    date_string = "agDateStringCellEditor"
    checkbox = "agCheckboxCellEditor"

class RendererParams(rx.Base):
    value: str
    data: dict[str, Any]
    node: Any
    column: Any
    context: Any
    valueFormatted: str

class AGRenderers(SimpleNamespace):
    @arrow_func
    @staticmethod
    def link(params: RendererParams): ...
    @arrow_func
    @staticmethod
    def link_external(params: RendererParams): ...
    @arrow_func
    @staticmethod
    def image(params: RendererParams): ...
    checkbox_cell = "agCheckboxCellRenderer"
    group_cell = "agGroupCellRenderer"
    loading_cell = "agLoadingCellRenderer"
    skeleton_cell = "agSkeletonCellRenderer"
    animate_show_change_cell = "agAnimateShowChangeCellRenderer"
    animate_slide_cell = "agAnimateSlideCellRenderer"
    rich_select_cell = "agRichSelectCellRenderer"
    popup_cell = "agPopupCellRenderer"

class AGStatusPanels(SimpleNamespace):
    total: str
    filtered: str
    filtered_total: str
    selected: str
    aggregation: str

class StatusPanelDef(PropsBase):
    status_panel: str | Var[str]
    status_panel_params: dict[str, Any] | Var[dict[str, Any]] | None
    align: str | Var[str] | None
    key: str | Var[str] | None

class ToolPanelDef(PropsBase):
    id: str
    label_key: str
    label_default: str
    min_width: int | Var[int] | None
    max_width: int | Var[int] | None
    width: int | Var[int] | None

class SideBarDef(PropsBase):
    tool_panels: list[str | ToolPanelDef] | Var[list[str | ToolPanelDef]]
    default_tool_panel: str | Var[str] | None
    hidden_by_default: bool | Var[bool]
    position: str | Var[str] | None

def get_builtin_components() -> list[str]: ...
