import { StoryObj } from '@storybook/react';
import { IconSize } from '../../Icon/Icon';
import { IconNames } from '../../Icon/IconNames';
import { FontWeights, TextTypes } from '../../Text/Text';
import { default as React } from 'react';
import { Button, ButtonProps, ButtonSizes, ButtonTypes } from '../Button';
export type ButtonStory = StoryObj<typeof Button>;
export declare const waitForDebounce: (ms?: number) => Promise<unknown>;
export declare const testIcons: {
    readonly add: IconNames.add;
    readonly save: IconNames.save;
    readonly close: IconNames.close;
    readonly settings: IconNames.settings;
};
export declare const testColors: {
    readonly primary: "#007bff";
    readonly secondary: "#6c757d";
    readonly success: "#28a745";
    readonly danger: "#dc3545";
    readonly warning: "#ffc107";
    readonly info: "#17a2b8";
};
export declare const selectors: {
    readonly button: "button[data-testid*=\"button\"]";
    readonly buttonContainer: "[data-testid*=\"button\"]";
    readonly disabledButton: "button[disabled]";
};
export declare const BUTTONS_EXCLUDED_CONTROLS_DEFAULT: string[];
export declare const BUTTONS_EXCLUDED_CONTROLS_MUTED: string[];
export declare const muted: ButtonTypes, BaseButtonTypeOptions: {
    default: ButtonTypes.default;
    secondary: ButtonTypes.secondary;
    primary: ButtonTypes.primary;
    shimmer: ButtonTypes.shimmer;
};
export declare const extraLarge: ButtonSizes, BaseButtonSizeOptions: {
    small: ButtonSizes.small;
    medium: ButtonSizes.medium;
    large: ButtonSizes.large;
};
export declare const buttonArgTypes: {
    rounded: {
        control: string;
        defaultValue: boolean;
    };
    textWrap: {
        control: string;
        options: string[];
        defaultValue: string;
    };
    iconHasCircle: {
        control: string;
        defaultValue: boolean;
    };
    icon: {
        control: string;
        options: typeof IconNames;
    };
    iconPosition: {
        control: string;
        options: string[];
    };
    isLoading: {
        control: string;
        defaultValue: boolean;
    };
    disabled: {
        control: string;
        defaultValue: boolean;
    };
    visible: {
        control: string;
        defaultValue: boolean;
    };
    uppercase: {
        control: string;
        defaultValue: boolean;
    };
    size: {
        control: string;
        options: {
            small: ButtonSizes.small;
            medium: ButtonSizes.medium;
            large: ButtonSizes.large;
        };
        defaultValue: ButtonSizes;
    };
    type: {
        control: string;
        options: {
            default: ButtonTypes.default;
            secondary: ButtonTypes.secondary;
            primary: ButtonTypes.primary;
            shimmer: ButtonTypes.shimmer;
        };
        defaultValue: ButtonTypes;
    };
    color: {
        description: string;
        control: string;
    };
    hoverColor: {
        description: string;
        control: string;
    };
    fontWeight: {
        description: string;
        control: string;
        options: typeof FontWeights;
    };
    textType: {
        description: string;
        control: string;
        options: typeof TextTypes;
    };
    shape: {
        description: string;
        control: string;
        options: string[];
    };
    iconLeft: {
        description: string;
        control: string;
        options: typeof IconNames;
    };
    iconRight: {
        description: string;
        control: string;
        options: typeof IconNames;
    };
    iconSize: {
        description: string;
        control: string;
        options: typeof IconSize;
    };
    iconColor: {
        description: string;
        control: string;
    };
    iconHoverColor: {
        description: string;
        control: string;
    };
    iconFillColor: {
        description: string;
        control: string;
    };
    iconLargeOnHover: {
        description: string;
        control: string;
        defaultValue: boolean;
    };
};
export declare const mutedButtonArgTypes: {
    type: {
        control: string;
        options: {
            muted: ButtonTypes;
        };
        defaultValue: ButtonTypes;
    };
    size: {
        control: string;
        options: typeof ButtonSizes;
        defaultValue: ButtonSizes;
    };
    blurred: {
        control: string;
        defaultValue: boolean;
        description: string;
    };
    inverted: {
        control: string;
        defaultValue: boolean;
        description: string;
    };
    rounded: {
        control: string;
        defaultValue: boolean;
    };
    textWrap: {
        control: string;
        options: string[];
        defaultValue: string;
    };
    iconHasCircle: {
        control: string;
        defaultValue: boolean;
    };
    icon: {
        control: string;
        options: typeof IconNames;
    };
    iconPosition: {
        control: string;
        options: string[];
    };
    isLoading: {
        control: string;
        defaultValue: boolean;
    };
    disabled: {
        control: string;
        defaultValue: boolean;
    };
    visible: {
        control: string;
        defaultValue: boolean;
    };
    uppercase: {
        control: string;
        defaultValue: boolean;
    };
    color: {
        description: string;
        control: string;
    };
    hoverColor: {
        description: string;
        control: string;
    };
    fontWeight: {
        description: string;
        control: string;
        options: typeof FontWeights;
    };
    textType: {
        description: string;
        control: string;
        options: typeof TextTypes;
    };
    shape: {
        description: string;
        control: string;
        options: string[];
    };
    iconLeft: {
        description: string;
        control: string;
        options: typeof IconNames;
    };
    iconRight: {
        description: string;
        control: string;
        options: typeof IconNames;
    };
    iconSize: {
        description: string;
        control: string;
        options: typeof IconSize;
    };
    iconColor: {
        description: string;
        control: string;
    };
    iconHoverColor: {
        description: string;
        control: string;
    };
    iconFillColor: {
        description: string;
        control: string;
    };
    iconLargeOnHover: {
        description: string;
        control: string;
        defaultValue: boolean;
    };
};
export declare const BUTTONS_EXCLUDED_CONTROLS_IN_DEMO: string[];
export declare const ButtonsDemoRendering: (args: ButtonProps) => React.JSX.Element;
