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