import type { ExtractPropTypes, PropType } from 'vue'; import type { SizeType } from '../config-provider'; import type { MouseEventHandler } from '../_util/EventInterface'; import type { ButtonColorType, ButtonVariantType } from './buttonHelpers'; export type ButtonType = 'link' | 'default' | 'primary' | 'ghost' | 'dashed' | 'text'; export type ButtonShape = 'default' | 'circle' | 'round'; export type ButtonIconPlacement = 'start' | 'end'; export type { ButtonColorType, ButtonVariantType }; export type ButtonHTMLType = 'submit' | 'button' | 'reset'; export type LegacyButtonType = ButtonType | 'danger'; export declare function convertLegacyProps(type?: LegacyButtonType): ButtonProps; export declare const buttonProps: () => { prefixCls: StringConstructor; type: PropType; htmlType: { type: PropType; default: string; }; shape: { type: PropType; }; size: { type: PropType; }; loading: { type: PropType; default: () => boolean | { delay?: number; icon?: any; }; }; disabled: { type: BooleanConstructor; default: any; }; ghost: { type: BooleanConstructor; default: any; }; block: { type: BooleanConstructor; default: any; }; danger: { type: BooleanConstructor; default: any; }; icon: import("vue-types").VueTypeValidableDef; href: StringConstructor; target: StringConstructor; title: StringConstructor; /** We default to providing a space between two Chinese characters; set to false to disable */ autoInsertSpace: { type: BooleanConstructor; default: boolean; }; /** Set the icon position of button */ iconPlacement: { type: PropType; default: ButtonIconPlacement; }; /** @deprecated Please use `iconPlacement` instead */ iconPosition: { type: PropType; default: ButtonIconPlacement; }; /** Set button color (use with `variant`) */ color: { type: PropType; default: ButtonColorType; }; /** Set button variant (use with `color`) */ variant: { type: PropType; default: ButtonVariantType; }; onClick: { type: PropType; }; onMousedown: { type: PropType; }; }; export type ButtonProps = Partial>>; export default buttonProps;