import { CreateComponentPublicInstance, ExtractPropTypes, PropType, ComponentOptionsMixin, VNodeProps, AllowedComponentProps, ComponentCustomProps, ComponentOptionsBase } from 'vue';
import { default as Dialog } from './src/index.vue';

export type PlusDialogInstance = InstanceType<typeof Dialog>;
export * from './src/type';
export declare const PlusDialog: {
    new (...args: any[]): CreateComponentPublicInstance<Readonly< ExtractPropTypes<{
        width: {
            type: PropType<string | number>;
            default: string;
        };
        top: {
            type: PropType<string>;
            default: string;
        };
        modelValue: {
            type: PropType<boolean>;
            default: boolean;
        };
        title: {
            type: PropType<string>;
            default: string;
        };
        hasFooter: {
            type: PropType<boolean>;
            default: boolean;
        };
        footerAlign: {
            type: PropType<"right" | "left" | "center">;
            default: string;
        };
        confirmText: {
            type: PropType<string>;
            default: string;
        };
        cancelText: {
            type: PropType<string>;
            default: string;
        };
        confirmLoading: {
            type: PropType<boolean>;
            default: boolean;
        };
    }>> & {
        "onUpdate:modelValue"?: ((visible: boolean) => any) | undefined;
        onCancel?: (() => any) | undefined;
        onConfirm?: (() => any) | undefined;
    }, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
        "update:modelValue": (visible: boolean) => void;
        cancel: () => void;
        confirm: () => void;
    }, VNodeProps & AllowedComponentProps & ComponentCustomProps & Readonly< ExtractPropTypes<{
        width: {
            type: PropType<string | number>;
            default: string;
        };
        top: {
            type: PropType<string>;
            default: string;
        };
        modelValue: {
            type: PropType<boolean>;
            default: boolean;
        };
        title: {
            type: PropType<string>;
            default: string;
        };
        hasFooter: {
            type: PropType<boolean>;
            default: boolean;
        };
        footerAlign: {
            type: PropType<"right" | "left" | "center">;
            default: string;
        };
        confirmText: {
            type: PropType<string>;
            default: string;
        };
        cancelText: {
            type: PropType<string>;
            default: string;
        };
        confirmLoading: {
            type: PropType<boolean>;
            default: boolean;
        };
    }>> & {
        "onUpdate:modelValue"?: ((visible: boolean) => any) | undefined;
        onCancel?: (() => any) | undefined;
        onConfirm?: (() => any) | undefined;
    }, {
        width: string | number;
        top: string;
        modelValue: boolean;
        title: string;
        hasFooter: boolean;
        footerAlign: "right" | "left" | "center";
        confirmText: string;
        cancelText: string;
        confirmLoading: boolean;
    }, true, {}, {}, {
        P: {};
        B: {};
        D: {};
        C: {};
        M: {};
        Defaults: {};
    }, Readonly< ExtractPropTypes<{
        width: {
            type: PropType<string | number>;
            default: string;
        };
        top: {
            type: PropType<string>;
            default: string;
        };
        modelValue: {
            type: PropType<boolean>;
            default: boolean;
        };
        title: {
            type: PropType<string>;
            default: string;
        };
        hasFooter: {
            type: PropType<boolean>;
            default: boolean;
        };
        footerAlign: {
            type: PropType<"right" | "left" | "center">;
            default: string;
        };
        confirmText: {
            type: PropType<string>;
            default: string;
        };
        cancelText: {
            type: PropType<string>;
            default: string;
        };
        confirmLoading: {
            type: PropType<boolean>;
            default: boolean;
        };
    }>> & {
        "onUpdate:modelValue"?: ((visible: boolean) => any) | undefined;
        onCancel?: (() => any) | undefined;
        onConfirm?: (() => any) | undefined;
    }, {}, {}, {}, {}, {
        width: string | number;
        top: string;
        modelValue: boolean;
        title: string;
        hasFooter: boolean;
        footerAlign: "right" | "left" | "center";
        confirmText: string;
        cancelText: string;
        confirmLoading: boolean;
    }>;
    __isFragment?: undefined;
    __isTeleport?: undefined;
    __isSuspense?: undefined;
} & ComponentOptionsBase<Readonly< ExtractPropTypes<{
    width: {
        type: PropType<string | number>;
        default: string;
    };
    top: {
        type: PropType<string>;
        default: string;
    };
    modelValue: {
        type: PropType<boolean>;
        default: boolean;
    };
    title: {
        type: PropType<string>;
        default: string;
    };
    hasFooter: {
        type: PropType<boolean>;
        default: boolean;
    };
    footerAlign: {
        type: PropType<"right" | "left" | "center">;
        default: string;
    };
    confirmText: {
        type: PropType<string>;
        default: string;
    };
    cancelText: {
        type: PropType<string>;
        default: string;
    };
    confirmLoading: {
        type: PropType<boolean>;
        default: boolean;
    };
}>> & {
    "onUpdate:modelValue"?: ((visible: boolean) => any) | undefined;
    onCancel?: (() => any) | undefined;
    onConfirm?: (() => any) | undefined;
}, {}, unknown, {}, {}, ComponentOptionsMixin, ComponentOptionsMixin, {
    "update:modelValue": (visible: boolean) => void;
    cancel: () => void;
    confirm: () => void;
}, string, {
    width: string | number;
    top: string;
    modelValue: boolean;
    title: string;
    hasFooter: boolean;
    footerAlign: "right" | "left" | "center";
    confirmText: string;
    cancelText: string;
    confirmLoading: boolean;
}, {}, string, {}> & VNodeProps & AllowedComponentProps & ComponentCustomProps & (new () => {
    $slots: {
        header?(_: {}): any;
        default?(_: {}): any;
        footer?(_: {}): any;
    };
});
