import * as React from 'react'; import Icon from '../Icon'; import * as PropTypes from 'prop-types'; import ButtonGroupContext from './ButtonGroupContext'; import ButtonGroup from './ButtonGroup'; import { ButtonSize, ButtonType, ButtonShape, ButtonHtmlType } from './Type'; declare type Group = typeof ButtonGroup; interface State { clickAnimating: boolean; } declare class Button extends React.Component { static displayName: string; static Group: Group; static Size: ["small", "large"]; static Type: ["primary", "dashed", "danger"]; static Shape: ["round", "circle"]; static Icon: ["left", "right", "search", "user", "check-circle-fill", "close-circle-fill", "info-circle-fill", "warning-circle-fill"]; static HtmlType: ["submit", "reset", "button"]; static contextType: React.Context; static propTypes: { size: PropTypes.Requireable<"small" | "large">; type: PropTypes.Requireable<"primary" | "dashed" | "danger">; shape: PropTypes.Requireable<"circle" | "round">; icon: PropTypes.Requireable<"left" | "right" | "search" | "user" | "check-circle-fill" | "close-circle-fill" | "info-circle-fill" | "warning-circle-fill">; iconRight: PropTypes.Requireable<"left" | "right" | "search" | "user" | "check-circle-fill" | "close-circle-fill" | "info-circle-fill" | "warning-circle-fill">; disabled: PropTypes.Requireable; htmlType: PropTypes.Requireable<"button" | "submit" | "reset">; className: PropTypes.Requireable; style: PropTypes.Requireable; onClick: PropTypes.Requireable<(...args: any[]) => any>; }; private _animatingTimer; context: ButtonGroupContext; readonly state: { clickAnimating: boolean; }; onClick(e: React.MouseEvent): void; render(): JSX.Element; } declare namespace Button { interface Props { size?: ButtonSize; type?: ButtonType; shape?: ButtonShape; icon?: Icon.Props['type']; iconRight?: Icon.Props['type']; disabled?: boolean; htmlType?: ButtonHtmlType; className?: string; style?: React.CSSProperties; onClick?: React.MouseEventHandler; } } export default Button;