import { type PropType, type ExtractPropTypes } from 'vue'; import { LoadingType } from '../loading'; import { ButtonSize, ButtonType, ButtonNativeType, ButtonIconPosition } from './types'; declare const buttonProps: { to: PropType; url: StringConstructor; replace: BooleanConstructor; } & { tag: { type: PropType; default: keyof HTMLElementTagNameMap; }; text: StringConstructor; icon: StringConstructor; type: { type: PropType; default: ButtonType; }; size: { type: PropType; default: ButtonSize; }; color: StringConstructor; block: BooleanConstructor; plain: BooleanConstructor; round: BooleanConstructor; square: BooleanConstructor; loading: BooleanConstructor; hairline: BooleanConstructor; disabled: BooleanConstructor; iconPrefix: StringConstructor; nativeType: { type: PropType; default: ButtonNativeType; }; loadingSize: (NumberConstructor | StringConstructor)[]; loadingText: StringConstructor; loadingType: PropType; iconPosition: { type: PropType; default: ButtonIconPosition; }; }; export declare type ButtonProps = ExtractPropTypes; declare const _default: import("vue").DefineComponent<{ to: PropType; url: StringConstructor; replace: BooleanConstructor; } & { tag: { type: PropType; default: keyof HTMLElementTagNameMap; }; text: StringConstructor; icon: StringConstructor; type: { type: PropType; default: ButtonType; }; size: { type: PropType; default: ButtonSize; }; color: StringConstructor; block: BooleanConstructor; plain: BooleanConstructor; round: BooleanConstructor; square: BooleanConstructor; loading: BooleanConstructor; hairline: BooleanConstructor; disabled: BooleanConstructor; iconPrefix: StringConstructor; nativeType: { type: PropType; default: ButtonNativeType; }; loadingSize: (NumberConstructor | StringConstructor)[]; loadingText: StringConstructor; loadingType: PropType; iconPosition: { type: PropType; default: ButtonIconPosition; }; }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, Readonly; url: StringConstructor; replace: BooleanConstructor; } & { tag: { type: PropType; default: keyof HTMLElementTagNameMap; }; text: StringConstructor; icon: StringConstructor; type: { type: PropType; default: ButtonType; }; size: { type: PropType; default: ButtonSize; }; color: StringConstructor; block: BooleanConstructor; plain: BooleanConstructor; round: BooleanConstructor; square: BooleanConstructor; loading: BooleanConstructor; hairline: BooleanConstructor; disabled: BooleanConstructor; iconPrefix: StringConstructor; nativeType: { type: PropType; default: ButtonNativeType; }; loadingSize: (NumberConstructor | StringConstructor)[]; loadingText: StringConstructor; loadingType: PropType; iconPosition: { type: PropType; default: ButtonIconPosition; }; }>> & { onClick?: ((...args: any[]) => any) | undefined; }, { replace: boolean; type: ButtonType; tag: keyof HTMLElementTagNameMap; round: boolean; disabled: boolean; size: ButtonSize; loading: boolean; block: boolean; square: boolean; plain: boolean; hairline: boolean; nativeType: ButtonNativeType; iconPosition: ButtonIconPosition; }>; export default _default;