import { ExtractPropTypes, PropType, DefineComponent, ComponentOptionsMixin, PublicProps, ComponentProvideOptions } from 'vue';
import { LegacyButtonType, ButtonHTMLType } from '../button/buttonTypes';
import { ButtonType, ButtonShape, ButtonSize } from '../button';
import { VueTypeValidableDef } from 'vue-types';
import { MouseEventHandler } from './EventInterface';
declare const actionButtonProps: {
    type: {
        type: PropType<LegacyButtonType>;
    };
    actionFn: PropType<(...args: any[]) => any | PromiseLike<any>>;
    close: FunctionConstructor;
    autofocus: BooleanConstructor;
    prefixCls: StringConstructor;
    buttonProps: {
        type: PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>>;
        default: Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>;
    };
    emitEvent: BooleanConstructor;
    quitOnNullishReturnValue: BooleanConstructor;
};
export type ActionButtonProps = ExtractPropTypes<typeof actionButtonProps>;
declare const _default: DefineComponent<ExtractPropTypes<{
    type: {
        type: PropType<LegacyButtonType>;
    };
    actionFn: PropType<(...args: any[]) => any | PromiseLike<any>>;
    close: FunctionConstructor;
    autofocus: BooleanConstructor;
    prefixCls: StringConstructor;
    buttonProps: {
        type: PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>>;
        default: Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>;
    };
    emitEvent: BooleanConstructor;
    quitOnNullishReturnValue: BooleanConstructor;
}>, () => import("vue/jsx-runtime").JSX.Element, {}, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {}, string, PublicProps, Readonly<ExtractPropTypes<{
    type: {
        type: PropType<LegacyButtonType>;
    };
    actionFn: PropType<(...args: any[]) => any | PromiseLike<any>>;
    close: FunctionConstructor;
    autofocus: BooleanConstructor;
    prefixCls: StringConstructor;
    buttonProps: {
        type: PropType<Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>>;
        default: Partial<ExtractPropTypes<{
            prefixCls: StringConstructor;
            type: PropType< ButtonType>;
            htmlType: {
                type: PropType< ButtonHTMLType>;
                default: string;
            };
            shape: {
                type: PropType< ButtonShape>;
            };
            size: {
                type: PropType< ButtonSize>;
            };
            loading: {
                type: PropType<boolean | {
                    delay?: number;
                }>;
                default: () => boolean | {
                    delay?: number;
                };
            };
            disabled: {
                type: BooleanConstructor;
                default: undefined;
            };
            ghost: {
                type: BooleanConstructor;
                default: undefined;
            };
            block: {
                type: BooleanConstructor;
                default: undefined;
            };
            danger: {
                type: BooleanConstructor;
                default: undefined;
            };
            icon: VueTypeValidableDef<any>;
            href: StringConstructor;
            target: StringConstructor;
            title: StringConstructor;
            onClick: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
            onMousedown: {
                type: PropType< MouseEventHandler | MouseEventHandler[]>;
            };
        }>>;
    };
    emitEvent: BooleanConstructor;
    quitOnNullishReturnValue: BooleanConstructor;
}>> & Readonly<{}>, {
    autofocus: boolean;
    buttonProps: Partial<ExtractPropTypes<{
        prefixCls: StringConstructor;
        type: PropType< ButtonType>;
        htmlType: {
            type: PropType< ButtonHTMLType>;
            default: string;
        };
        shape: {
            type: PropType< ButtonShape>;
        };
        size: {
            type: PropType< ButtonSize>;
        };
        loading: {
            type: PropType<boolean | {
                delay?: number;
            }>;
            default: () => boolean | {
                delay?: number;
            };
        };
        disabled: {
            type: BooleanConstructor;
            default: undefined;
        };
        ghost: {
            type: BooleanConstructor;
            default: undefined;
        };
        block: {
            type: BooleanConstructor;
            default: undefined;
        };
        danger: {
            type: BooleanConstructor;
            default: undefined;
        };
        icon: VueTypeValidableDef<any>;
        href: StringConstructor;
        target: StringConstructor;
        title: StringConstructor;
        onClick: {
            type: PropType< MouseEventHandler | MouseEventHandler[]>;
        };
        onMousedown: {
            type: PropType< MouseEventHandler | MouseEventHandler[]>;
        };
    }>>;
    emitEvent: boolean;
    quitOnNullishReturnValue: boolean;
}, {}, {}, {}, string, ComponentProvideOptions, true, {}, any>;
export default _default;
