import { type PropType } from 'vue';
import type { ExtractPublicPropTypes } from '../_util/interface';
import type { Size, Type } from './interface';
export declare const buttonProps: {
    readonly disabled: {
        readonly type: PropType<boolean>;
        readonly default: () => boolean | null | undefined;
    };
    readonly htmlType: {
        readonly type: PropType<"button" | "submit" | "reset">;
        readonly default: "button";
    };
    readonly size: {
        readonly type: PropType<Size>;
        readonly default: "middle";
    };
    readonly loading: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly long: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly throttle: {
        readonly type: NumberConstructor;
        readonly default: 300;
    };
    readonly type: {
        readonly type: PropType<Type>;
        readonly default: "default";
    };
    readonly iconPlacement: {
        readonly type: PropType<"left" | "right">;
        readonly default: "left";
    };
};
export type ButtonProps = ExtractPublicPropTypes<typeof buttonProps>;
declare const _default: import("vue").DefineComponent<import("vue").ExtractPropTypes<{
    readonly disabled: {
        readonly type: PropType<boolean>;
        readonly default: () => boolean;
    };
    readonly htmlType: {
        readonly type: PropType<"button" | "submit" | "reset">;
        readonly default: "button";
    };
    readonly size: {
        readonly type: PropType<Size>;
        readonly default: "middle";
    };
    readonly loading: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly long: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly throttle: {
        readonly type: NumberConstructor;
        readonly default: 300;
    };
    readonly type: {
        readonly type: PropType<Type>;
        readonly default: "default";
    };
    readonly iconPlacement: {
        readonly type: PropType<"left" | "right">;
        readonly default: "left";
    };
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "click"[], "click", import("vue").PublicProps, Readonly<import("vue").ExtractPropTypes<{
    readonly disabled: {
        readonly type: PropType<boolean>;
        readonly default: () => boolean;
    };
    readonly htmlType: {
        readonly type: PropType<"button" | "submit" | "reset">;
        readonly default: "button";
    };
    readonly size: {
        readonly type: PropType<Size>;
        readonly default: "middle";
    };
    readonly loading: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly long: {
        readonly type: BooleanConstructor;
        readonly default: false;
    };
    readonly throttle: {
        readonly type: NumberConstructor;
        readonly default: 300;
    };
    readonly type: {
        readonly type: PropType<Type>;
        readonly default: "default";
    };
    readonly iconPlacement: {
        readonly type: PropType<"left" | "right">;
        readonly default: "left";
    };
}>> & Readonly<{
    onClick?: (...args: any[]) => any;
}>, {
    readonly type: Type;
    readonly size: Size;
    readonly disabled: boolean;
    readonly htmlType: "button" | "submit" | "reset";
    readonly loading: boolean;
    readonly long: boolean;
    readonly throttle: number;
    readonly iconPlacement: "left" | "right";
}, {}, {}, {}, string, import("vue").ComponentProvideOptions, true, {}, any>;
export default _default;
