import { ButtonHTMLAttributes, PureComponent, ReactNode } from 'react'; import { Override } from '../../type'; declare const defaultProps: { styleType: string; size: string; type: string; }; export interface ButtonProps { /** 按钮类型 */ styleType?: 'primary' | 'border' | 'border-gray'; /** 按钮尺寸 */ size?: 'sm' | 'md' | 'lg'; /** 形状 */ shape?: 'circle' | 'square'; /** 是否加载中 */ loading?: boolean; /** * 伪装 disabled,配合 disabled 一起使用。 * * 添加后 disabled 时除了 onClick 事件,其它的事件会正常触发,且生成的 button 上不会出现 disabled 属性。 * * button 的 disabled 会将所有事件全部屏蔽,有时会导致一些问题,比如 tooltip 里嵌入 disabled button 时,无法获取事件导致无法正常显示。 */ fakeDisabled?: boolean; /** 图标,传入 string 时为图标类型,也可直接传入图标组件,需要图标位置等更多自定义请直接放在 children 中 */ icon?: string | ReactNode; /** 设置原生的 button 上 type 属性 */ type?: string; /** 展示设置为块元素 */ block?: boolean; /** * @ignore * 内部使用,请勿使用,是否可选中,样式会有区别 */ checkAble?: boolean; /** * @ignore * 内部使用,请勿使用,选中状态 */ checked?: boolean; } export default class Button extends PureComponent, ButtonProps & typeof defaultProps>> { static defaultProps: { styleType: string; size: string; type: string; }; static StyleTypes: ["primary", "border", "border-gray"]; static Sizes: ["sm", "md", "lg"]; static Shapes: ["circle", "square"]; renderIcon: () => {} | null | undefined; render(): JSX.Element; } export {};