import type { MouseEventHandler, SizeType } from '@antdv/ui/es/types';
import type { ExtractPropTypes, PropType } from 'vue';
import type { ButtonHTMLType, ButtonShape, ButtonType } from './interface';
export declare function buttonProps(): {
    prefixCls: StringConstructor;
    type: PropType<ButtonType>;
    htmlType: {
        type: PropType<ButtonHTMLType>;
        default: string;
    };
    shape: {
        type: PropType<ButtonShape>;
    };
    size: {
        type: PropType<SizeType>;
    };
    loading: {
        type: PropType<boolean | {
            delay?: number;
        }>;
        default: () => boolean | {
            delay?: number;
        };
    };
    disabled: {
        type: BooleanConstructor;
        default: any;
    };
    ghost: {
        type: BooleanConstructor;
        default: any;
    };
    block: {
        type: BooleanConstructor;
        default: any;
    };
    danger: {
        type: BooleanConstructor;
        default: any;
    };
    success: {
        type: BooleanConstructor;
        default: any;
    };
    warning: {
        type: BooleanConstructor;
        default: any;
    };
    icon: any;
    href: StringConstructor;
    target: StringConstructor;
    title: StringConstructor;
    onClick: {
        type: PropType<MouseEventHandler | MouseEventHandler[]>;
    };
    onMousedown: {
        type: PropType<MouseEventHandler | MouseEventHandler[]>;
    };
};
export declare function buttonGroupProps(): {
    prefixCls: StringConstructor;
    size: {
        type: PropType<SizeType>;
    };
};
export type ButtonProps = Partial<ExtractPropTypes<ReturnType<typeof buttonProps>>>;
export type ButtonGroupProps = Partial<ExtractPropTypes<ReturnType<typeof buttonGroupProps>>>;
