import type { IconProps } from 'components/Icon/types';
import type { LoadingSpinnerProps } from '../LoadingSpinner/types';
import type { ButtonProps } from './types';
export declare const getSpinnerColor: ({ variant, unfilled, }: Pick<ButtonProps, 'variant' | 'unfilled'>) => Required<LoadingSpinnerProps>['color'];
export interface SizeProps extends Pick<ButtonProps, 'size' | 'icon' | 'disclosureIcon'> {
    isMobile: boolean;
    hasLabel?: boolean;
}
export declare const getDimensions: ({ size, isMobile }: SizeProps) => "28px" | "32px" | "36px" | "40px" | "64px" | "44px" | "52px";
export declare const paddingMap: {
    labelOnly: {
        mobile: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
        desktop: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
    };
    labelAndIcon: {
        mobile: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
        desktop: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
    };
    disclosureAndLabel: {
        mobile: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
        desktop: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
    };
    iconAndDisclosureOnly: {
        mobile: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
        desktop: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
    };
    iconLabelAndDisclosure: {
        mobile: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
        desktop: {
            xs: string;
            sm: string;
            md: string;
            lg: string;
        };
    };
};
export declare const getPadding: ({ size, isMobile, hasLabel, icon, disclosureIcon }: SizeProps) => string;
export declare const getIconSize: (size?: ButtonProps['size']) => Required<IconProps>['size'];
