import * as _nex_ui_system from '@nex-ui/system';
import { RecipeVariants } from '@nex-ui/system';

declare const buttonRecipe: _nex_ui_system.SlotRecipeRuntimeFn<{
    root: {
        outline: "none";
        userSelect: "none";
        border: "none";
        cursor: "pointer";
        position: "relative";
        transition: "colors";
        textDecoration: "none";
        display: "inline-flex";
        alignItems: "center";
        justifyContent: "center";
        boxSizing: "border-box";
        lineHeight: "base";
        overflow: "hidden";
        WebkitTapHighlightColor: "transparent";
        _focusVisible: {
            outline: string;
            outlineOffset: string;
        };
    };
    startIcon: {
        display: "inherit";
        ml: "-1";
        mr: "2";
        fs: "1.25em";
    };
    endIcon: {
        display: "inherit";
        ml: "2";
        mr: "-1";
        fs: "1.25em";
    };
}, {
    variant: {
        outlined: {
            root: {
                bg: "transparent";
                border: "{borders.md} {colors.colorPalette.primary}";
                borderColor: {
                    _DEFAULT: "colorPalette.primary";
                    _hover: "colorPalette.secondary";
                };
                color: {
                    _DEFAULT: "colorPalette.primary";
                    _hover: "colorPalette.secondary";
                };
            };
        };
        solid: {
            root: {
                bg: {
                    _DEFAULT: "colorPalette.primary";
                    _hover: "colorPalette.secondary";
                };
                color: "colorPalette.contrastText";
            };
        };
        text: {
            root: {
                color: "colorPalette.primary";
                bg: {
                    _DEFAULT: "transparent";
                    _hover: "colorPalette.subtle";
                };
            };
        };
    };
    size: {
        readonly sm: {
            root: {
                readonly px: "3";
                readonly fs: "md";
                readonly h: "8";
            };
        };
        readonly md: {
            root: {
                readonly px: "4";
                readonly fs: "lg";
                readonly h: "10";
            };
        };
        readonly lg: {
            root: {
                readonly px: "5";
                readonly fs: "xl";
                readonly h: "12";
            };
        };
    };
    disabled: {
        true: {
            root: {
                opacity: number;
                pointerEvents: "none";
            };
        };
    };
    fullWidth: {
        readonly true: {
            root: {
                readonly w: "100%";
            };
        };
    };
    radius: {
        readonly sm: {
            root: {
                readonly borderRadius: "md";
            };
        };
        readonly md: {
            root: {
                readonly borderRadius: "lg";
            };
        };
        readonly lg: {
            root: {
                readonly borderRadius: "xl";
            };
        };
        readonly full: {
            root: {
                readonly borderRadius: "full";
            };
        };
        readonly none: {
            root: {
                readonly borderRadius: "none";
            };
        };
    };
    iconOnly: {
        true: {
            root: {
                px: "0.5";
            };
        };
    };
    color: {
        readonly blue: {
            root: {
                readonly colorPalette: "blue";
            };
        };
        readonly gray: {
            root: {
                readonly colorPalette: "gray";
            };
        };
        readonly pink: {
            root: {
                readonly colorPalette: "pink";
            };
        };
        readonly purple: {
            root: {
                readonly colorPalette: "purple";
            };
        };
        readonly cyan: {
            root: {
                readonly colorPalette: "cyan";
            };
        };
        readonly orange: {
            root: {
                readonly colorPalette: "orange";
            };
        };
        readonly yellow: {
            root: {
                readonly colorPalette: "yellow";
            };
        };
        readonly green: {
            root: {
                readonly colorPalette: "green";
            };
        };
        readonly red: {
            root: {
                readonly colorPalette: "red";
            };
        };
    };
    disableRipple: {
        true: {
            root: {
                transition: "scale";
                _active: {
                    scale: string;
                };
            };
        };
    };
}>;
type ButtonRecipe = typeof buttonRecipe;
type ButtonVariants = RecipeVariants<ButtonRecipe>;

export { buttonRecipe };
export type { ButtonRecipe, ButtonVariants };
