import { FC, ButtonHTMLAttributes, AnchorHTMLAttributes, ReactNode, CSSProperties } from 'react';
import { IconProp } from '@fortawesome/fontawesome-svg-core';
declare type ButtonType = 'primary' | 'danger' | 'success' | 'link' | 'default';
declare type ButtonSize = 'lg' | 'sm' | 'normal';
declare type ButtonShape = 'default' | 'circle';
export interface BaseButtonProps {
/** 按钮类型.'primary' | 'danger' | 'success' | 'link' | 'default' */
btnType?: ButtonType;
/** 按钮大小 'lg' | 'sm' | 'normal' */
size?: ButtonSize;
/** 是否禁用按钮 */
disabled?: boolean;
/** 仅当btnType为link时有效 */
href?: string;
/** 自定义类名 */
className?: string;
/** 子节点 */
children?: ReactNode;
/** 是否充满父元素 */
block?: boolean;
/** 是否处于加载状态 */
loading?: boolean;
/** 按钮的形状 'default' | 'circle', 有bug,会在下一版本解决*/
shape?: ButtonShape;
/** 自定义style */
style?: CSSProperties;
/** 按钮的后置icon */
appendIcon?: IconProp;
/** 按钮的前置icon */
prependIcon?: IconProp;
}
declare type NativeButtonProps = BaseButtonProps & ButtonHTMLAttributes;
declare type AnchorButtonProps = BaseButtonProps & AnchorHTMLAttributes;
export declare type ButtonProps = NativeButtonProps & AnchorButtonProps;
/**
* 页面中最常用的的按钮元素,适合于完成特定的交互
* ### 引用方法
*
* ~~~js
* import { Button } from 'vikingship'
* ~~~
*/
export declare const Button: FC;
export default Button;