import React from 'react'; import { DOMProps, QAProps } from '../types'; export declare type ButtonView = 'normal' | 'action' | 'outlined' | 'outlined-info' | 'outlined-danger' | 'raised' | 'flat' | 'flat-info' | 'flat-danger' | 'flat-secondary' | 'normal-contrast' | 'outlined-contrast' | 'flat-contrast'; export declare type ButtonSize = 's' | 'm' | 'l' | 'xl'; export declare type ButtonPin = 'round-round' | 'brick-brick' | 'clear-clear' | 'circle-circle' | 'round-brick' | 'brick-round' | 'round-clear' | 'clear-round' | 'brick-clear' | 'clear-brick' | 'circle-brick' | 'brick-circle' | 'circle-clear' | 'clear-circle'; export interface ButtonProps extends DOMProps, QAProps { /** Button appearance */ view?: ButtonView; size?: ButtonSize; pin?: ButtonPin; selected?: boolean; disabled?: boolean; loading?: boolean; width?: 'auto' | 'max'; title?: string; tabIndex?: number; id?: string; type?: 'button' | 'submit' | 'reset'; component?: React.ElementType; href?: string; target?: string; rel?: string; extraProps?: React.ButtonHTMLAttributes | React.AnchorHTMLAttributes; onClick?: React.MouseEventHandler; onMouseEnter?: React.MouseEventHandler; onMouseLeave?: React.MouseEventHandler; onFocus?: React.FocusEventHandler; onBlur?: React.FocusEventHandler; /** Button content. You can mix button text with `` component */ children?: React.ReactNode; } export declare const Button: React.ForwardRefExoticComponent> & { Icon: { ({ side, className, children }: { className?: string | undefined; side?: "left" | "right" | undefined; } & { children?: React.ReactNode; }): JSX.Element; displayName: string; }; };