///
import * as React from 'react';
import PropTypes from 'prop-types';
import Group from './button-group';
export declare type ButtonType = 'primary' | 'ghost' | 'dashed' | 'danger';
export declare type ButtonShape = 'circle' | 'circle-outline';
export declare type ButtonSize = 'small' | 'default' | 'large';
export declare type ButtonFuncType = 'raised' | 'flat' | 'border';
export declare type ButtonColor = 'orange' | 'gules';
export interface ButtonProps {
type?: ButtonType;
htmlType?: string;
icon?: string;
shape?: ButtonShape;
size?: ButtonSize;
color?: ButtonColor;
onClick?: React.FormEventHandler;
onMouseUp?: React.FormEventHandler;
onMouseDown?: React.FormEventHandler;
onKeyPress?: React.KeyboardEventHandler;
onKeyDown?: React.KeyboardEventHandler;
tabIndex?: number;
loading?: boolean | {
delay?: number;
};
disabled?: boolean;
style?: React.CSSProperties;
prefixCls?: string;
className?: string;
ghost?: boolean;
target?: string;
href?: string;
download?: string;
funcType?: ButtonFuncType;
}
export default class Button extends React.Component {
static Group: typeof Group;
static __ANT_BUTTON: boolean;
static defaultProps: {
prefixCls: string;
loading: boolean;
ghost: boolean;
funcType: string;
};
static propTypes: {
type: PropTypes.Requireable;
shape: PropTypes.Requireable;
size: PropTypes.Requireable;
htmlType: PropTypes.Requireable;
onClick: PropTypes.Requireable<(...args: any[]) => any>;
loading: PropTypes.Requireable;
className: PropTypes.Requireable;
icon: PropTypes.Requireable;
funcType: PropTypes.Requireable;
color: PropTypes.Requireable;
};
timeout: number;
delayTimeout: number;
constructor(props: ButtonProps);
componentWillReceiveProps(nextProps: ButtonProps): void;
componentWillUnmount(): void;
handleClick: (e: React.MouseEvent) => void;
render(): JSX.Element;
}