import type { CreateBlock, EvokitProp, EvokitMediaSufix } from '@prom-ui/core/base/types';
type ButtonDisplay = EvokitMediaSufix<'inline-flex' | 'none'>;
type ButtonEvents = EvokitMediaSufix<'auto' | 'none'>;
type ButtonHeight = EvokitMediaSufix<'auto' | 'inherit' | '1-1'>;
type ButtonSize = EvokitMediaSufix<'none' | 'inherit' | 'default' | 'small' | 'big' | 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'>;
type ButtonThemes = EvokitMediaSufix<'violet' | 'violet-second' | 'violet-transparent' | 'violet-inherit' | 'yellow' | 'yellow-second' | 'yellow-transparent' | 'yellow-inherit' | 'white' | 'white-second' | 'white-transparent' | 'white-inherit' | 'black' | 'black-second' | 'black-transparent' | 'black-inherit' | 'gray' | 'gray-second' | 'gray-transparent' | 'gray-inherit'>;
type ButtonValign = EvokitMediaSufix<'baseline' | 'bottom' | 'middle' | 'sub' | 'super' | 'text-bottom' | 'text-top' | 'top'>;
type ButtonWeight = EvokitMediaSufix<'thin' | 'light' | 'normal' | 'medium' | 'bold' | 'black'>;
type ButtonWidth = EvokitMediaSufix<'auto' | 'inherit' | '1-1'>;
type ButtonPadding = EvokitMediaSufix<'none' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | '3xl' | '4xl' | '5xl'>;
type ButtonRound = EvokitMediaSufix<'none' | 'full' | 'xxs' | 'xs' | 's' | 'm' | 'l' | 'xl' | 'xxl' | '3xl' | '4xl' | '5xl'>;
type ButtonBlackhole = 'border-transparent' | 'border-none';
export type ButtonProps = {
    /** Спиннер */
    loading?: boolean;
    'button-display'?: EvokitProp<ButtonDisplay>;
    'button-events'?: EvokitProp<ButtonEvents>;
    'button-height'?: EvokitProp<ButtonHeight>;
    'button-size'?: EvokitProp<ButtonSize>;
    'button-theme'?: EvokitProp<ButtonThemes>;
    'button-valign'?: EvokitProp<ButtonValign>;
    'button-weight'?: EvokitProp<ButtonWeight>;
    'button-width'?: EvokitProp<ButtonWidth>;
    'button-blackhole'?: ButtonBlackhole;
    'button-padding'?: EvokitProp<ButtonPadding | `${ButtonPadding} ${string}`>;
    /** @ignore */
    'button-padding-top'?: EvokitProp<ButtonPadding>;
    /** @ignore */
    'button-padding-right'?: EvokitProp<ButtonPadding>;
    /** @ignore */
    'button-padding-bottom'?: EvokitProp<ButtonPadding>;
    /** @ignore */
    'button-padding-left'?: EvokitProp<ButtonPadding>;
    'button-round'?: EvokitProp<ButtonRound | `${ButtonRound} ${string}`>;
    /** @ignore */
    'button-round-top-left'?: EvokitProp<ButtonRound>;
    /** @ignore */
    'button-round-top-right'?: EvokitProp<ButtonRound>;
    /** @ignore */
    'button-round-bottom-left'?: EvokitProp<ButtonRound>;
    /** @ignore */
    'button-round-bottom-right'?: EvokitProp<ButtonRound>;
};
export declare const Button: CreateBlock<'button', 'button', ButtonProps>;
export {};
