import type { Theme } from '@emotion/react'; interface VariablesProps { theme: Theme; } interface ButtonWidthProps { /** Indicates if the button is an icon button. */ $isIconButton?: boolean; /** Size of the button. */ $size: 'large' | 'small'; /** Width behavior of the button. */ $width: 'auto' | 'full'; } interface ButtonPaddingProps { /** Indicates if the button is an icon button. */ $isIconButton?: boolean; /** Indicates if the button is an link button. */ $isLink?: boolean; /** Size of the button. */ $size: 'large' | 'small'; } /** * Generates CSS variables for button base states (default appearance). * * @param props The properties object. * @param props.theme The theme object containing color values. * @returns CSS string with variable definitions for different theme/variant combinations. */ export declare const getBaseVariables: ({ theme }: VariablesProps) => string; /** * Generates CSS variables for button hover states. * * @param props The properties object. * @param props.theme The theme object containing color values. * @returns CSS string with variable definitions for hover state theme/variant combinations. */ export declare const getHoverVariables: ({ theme }: VariablesProps) => string; /** * Generates CSS variables for button focus states. * * @param props The properties object. * @param props.theme The theme object containing color values. * @returns CSS string with variable definitions for focus state theme/variant combinations. */ export declare const getFocusVariables: ({ theme }: VariablesProps) => string; /** * Calculates the appropriate width for a button based on its type and size. * * @param props The button width properties. * @param props.$isIconButton Whether this is an icon-only button. * @param props.$size The size of the button ('large' or 'small'). * @param props.$width The width behavior ('auto' or 'full'). * @returns The CSS width value as a string. */ export declare const getButtonWidth: ({ $isIconButton, $size, $width }: ButtonWidthProps) => "3.6rem" | "4.8rem" | "100%" | "fit-content"; /** * Calculates the appropriate padding for a button based on its type and size. * * @param props The button padding properties. * @param props.$isIconButton Whether this is an icon-only button. * @param props.$size The size of the button ('large' or 'small'). * @returns The CSS padding value as a string in the format "vertical horizontal". */ export declare const getButtonPadding: ({ $isIconButton, $size }: ButtonPaddingProps) => string; export {};