import type { ButtonProps as MuiButtonProps } from '@mui/material/Button';
import type { Size, TextTransform, Variant, Color, Tokens } from '../../types';
export interface ButtonProps extends Omit<MuiButtonProps, 'variant' | 'size'> {
    /**
     * The variant to use.
     * @default 'primary'
     */
    variant?: Variant;
    /**
     * The negative variant of the button.
     * @default false
     */
    negative?: boolean;
    /**
     * Transformation of the text inside component.
     * @default 'uppercase'
     */
    textTransform?: TextTransform;
    /**
     * The size of the component.
     * @default 'small'
     */
    size?: Size;
    /**
     * The color of the component. It supports those theme colors that make sense for this component.
     * Works only with `primary` type of button
     * @default 'primary'
     */
    color?: Color;
}
declare type ButtonVariantsTokens = Tokens['button']['light'];
declare type PrimaryVariantTokens = ButtonVariantsTokens['primary'];
declare type SecondaryVariantTokens = ButtonVariantsTokens['secondary'];
declare type TertiaryVariantTokens = ButtonVariantsTokens['tertiary'];
declare type SuccessVariantTokens = ButtonVariantsTokens['success'];
declare type DangerVariantTokens = ButtonVariantsTokens['danger'];
declare type PrimaryNegativeVariantTokens = PrimaryVariantTokens['negative'];
declare type SecondaryNegativeVariantTokens = SecondaryVariantTokens['negative'];
declare type TertiaryNegativeVariantTokens = TertiaryVariantTokens['negative'];
export declare type ButtonVariantTokens = PrimaryVariantTokens | SecondaryVariantTokens | TertiaryVariantTokens | SuccessVariantTokens | DangerVariantTokens | PrimaryNegativeVariantTokens | SecondaryNegativeVariantTokens | TertiaryNegativeVariantTokens;
export {};
