import React, { ReactNode, Ref } from 'react'; import { ComponentWithCustomElement } from 'bloko/common/helpers/types'; import ButtonGroup from 'bloko/blocks/button/ButtonGroup'; export declare enum ButtonKind { Primary = "primary", Secondary = "secondary", Warning = "warning", Success = "success", Inversed = "inversed" } export declare enum ButtonIconPosition { Left = "left", Right = "right" } export declare enum ButtonScale { Small = "small", Large = "large" } export declare enum ButtonType { Submit = "submit", Button = "button" } export declare enum ButtonAppearance { Filled = "filled", Outlined = "outlined", Flat = "flat" } export interface ButtonProps { /** Размеры кнопки */ scale?: ButtonScale; /** Тип компонента по назначению возможные варианты [ButonKinds](#button-kind) */ kind?: ButtonKind; /** Тип кнопки по назначению */ type?: ButtonType; /** Заливка */ appearance?: ButtonAppearance; /** Нажата ли кнопка */ pressed?: boolean; /** Заблокирована ли кнопка */ disabled?: boolean; /** Функция для получения DOM элемента кнопки */ innerRef?: Ref; /** Кастомный компонент 'a', 'button', 'span' или функция */ Element?: 'a' | 'button' | 'span'; /** onClick callback */ onClick?: (event: React.MouseEvent) => void; /** На всю длину */ stretched?: boolean; /** Текст внутри отображается с многоточием, если не помещается */ collapsible?: boolean; /** Валидность */ invalid?: boolean; /** Отображать индикацию загрузки */ loading?: ReactNode; /** Иконка */ icon?: ReactNode; /** Положение иконки */ iconPosition?: ButtonIconPosition; } declare const _default: ComponentWithCustomElement; export default _default; export { ButtonGroup };