"""Stub file for reflex/components/radix/themes/layout/base.py"""

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

from reflex.components.core.breakpoints import Breakpoints
from reflex.event import EventHandler, EventSpec
from reflex.ivars.base import ImmutableVar
from reflex.style import Style
from reflex.vars import Var

from ..base import CommonMarginProps, RadixThemesComponent

LiteralBoolNumber = Literal["0", "1"]

class LayoutComponent(CommonMarginProps, RadixThemesComponent):
    @overload
    @classmethod
    def create(  # type: ignore
        cls,
        *children,
        p: Optional[
            Union[
                Var[
                    Union[
                        Breakpoints[
                            str,
                            Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                        ],
                        Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                    ]
                ],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                Breakpoints[
                    str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
                ],
            ]
        ] = None,
        px: Optional[
            Union[
                Var[
                    Union[
                        Breakpoints[
                            str,
                            Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                        ],
                        Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                    ]
                ],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                Breakpoints[
                    str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
                ],
            ]
        ] = None,
        py: Optional[
            Union[
                Var[
                    Union[
                        Breakpoints[
                            str,
                            Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                        ],
                        Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                    ]
                ],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                Breakpoints[
                    str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
                ],
            ]
        ] = None,
        pt: Optional[
            Union[
                Var[
                    Union[
                        Breakpoints[
                            str,
                            Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                        ],
                        Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                    ]
                ],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                Breakpoints[
                    str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
                ],
            ]
        ] = None,
        pr: Optional[
            Union[
                Var[
                    Union[
                        Breakpoints[
                            str,
                            Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                        ],
                        Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                    ]
                ],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                Breakpoints[
                    str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
                ],
            ]
        ] = None,
        pb: Optional[
            Union[
                Var[
                    Union[
                        Breakpoints[
                            str,
                            Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                        ],
                        Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                    ]
                ],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                Breakpoints[
                    str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
                ],
            ]
        ] = None,
        pl: Optional[
            Union[
                Var[
                    Union[
                        Breakpoints[
                            str,
                            Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                        ],
                        Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                    ]
                ],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
                Breakpoints[
                    str, Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]
                ],
            ]
        ] = None,
        flex_shrink: Optional[
            Union[
                Var[Union[Breakpoints[str, Literal["0", "1"]], Literal["0", "1"]]],
                Literal["0", "1"],
                Breakpoints[str, Literal["0", "1"]],
            ]
        ] = None,
        flex_grow: Optional[
            Union[
                Var[Union[Breakpoints[str, Literal["0", "1"]], Literal["0", "1"]]],
                Literal["0", "1"],
                Breakpoints[str, Literal["0", "1"]],
            ]
        ] = None,
        m: Optional[
            Union[
                Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
            ]
        ] = None,
        mx: Optional[
            Union[
                Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
            ]
        ] = None,
        my: Optional[
            Union[
                Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
            ]
        ] = None,
        mt: Optional[
            Union[
                Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
            ]
        ] = None,
        mr: Optional[
            Union[
                Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
            ]
        ] = None,
        mb: Optional[
            Union[
                Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
            ]
        ] = None,
        ml: Optional[
            Union[
                Var[Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"]],
                Literal["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"],
            ]
        ] = 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[ImmutableVar, str]]] = None,
        on_blur: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_context_menu: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_double_click: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_focus: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_mount: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_mouse_down: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_mouse_enter: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_mouse_leave: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_mouse_move: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_mouse_out: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_mouse_over: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_mouse_up: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_scroll: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        on_unmount: Optional[
            Union[EventHandler, EventSpec, list, Callable, ImmutableVar]
        ] = None,
        **props,
    ) -> "LayoutComponent":
        """Create a new component instance.

        Will prepend "RadixThemes" to the component tag to avoid conflicts with
        other UI libraries for common names, like Text and Button.

        Args:
            *children: Child components.
            p: Padding: "0" - "9"
            px: Padding horizontal: "0" - "9"
            py: Padding vertical: "0" - "9"
            pt: Padding top: "0" - "9"
            pr: Padding right: "0" - "9"
            pb: Padding bottom: "0" - "9"
            pl: Padding left: "0" - "9"
            flex_shrink: Whether the element will take up the smallest possible space: "0" | "1"
            flex_grow: Whether the element will take up the largest possible space: "0" | "1"
            m: Margin: "0" - "9"
            mx: Margin horizontal: "0" - "9"
            my: Margin vertical: "0" - "9"
            mt: Margin top: "0" - "9"
            mr: Margin right: "0" - "9"
            mb: Margin bottom: "0" - "9"
            ml: Margin left: "0" - "9"
            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: Component properties.

        Returns:
            A new component instance.
        """
        ...
