import type { TdDialogProps } from './type';
import './style';
export * from './type';
export declare type DialogProps = TdDialogProps;
export declare const Dialog: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            visible: boolean;
            body: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            footer: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            header: string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            draggable: boolean;
            mode: "normal" | "modal" | "modeless" | "full-screen";
            placement: "center" | "top";
            attach: import("..").AttachNode;
            destroyOnClose: boolean;
            theme: "default" | "success" | "danger" | "warning" | "info";
            preventScrollThrough: boolean;
            showOverlay: boolean;
            closeBtn: string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            cancelBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
            closeOnEscKeydown: boolean;
            closeOnOverlayClick: boolean;
            confirmBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
            confirmOnEnter: boolean;
            showInAttachedElement: boolean;
        }> & Omit<Readonly<import("vue").ExtractPropTypes<{
            attach: {
                type: import("vue").PropType<import("..").AttachNode>;
                default: string;
            };
            body: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: string;
            };
            cancelBtn: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps>;
                default: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps;
            };
            closeBtn: {
                type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: boolean;
            };
            closeOnEscKeydown: {
                type: BooleanConstructor;
                default: any;
            };
            closeOnOverlayClick: {
                type: BooleanConstructor;
                default: any;
            };
            confirmBtn: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps>;
                default: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps;
            };
            confirmOnEnter: BooleanConstructor;
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            destroyOnClose: BooleanConstructor;
            draggable: BooleanConstructor;
            footer: {
                type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: boolean;
            };
            header: {
                type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: boolean;
            };
            mode: {
                type: import("vue").PropType<"normal" | "modal" | "modeless" | "full-screen">;
                default: "normal" | "modal" | "modeless" | "full-screen";
                validator(val: "normal" | "modal" | "modeless" | "full-screen"): boolean;
            };
            placement: {
                type: import("vue").PropType<"center" | "top">;
                default: "center" | "top";
                validator(val: "center" | "top"): boolean;
            };
            preventScrollThrough: {
                type: BooleanConstructor;
                default: boolean;
            };
            showInAttachedElement: BooleanConstructor;
            showOverlay: {
                type: BooleanConstructor;
                default: boolean;
            };
            theme: {
                type: import("vue").PropType<"default" | "success" | "danger" | "warning" | "info">;
                default: "default" | "success" | "danger" | "warning" | "info";
                validator(val: "default" | "success" | "danger" | "warning" | "info"): boolean;
            };
            top: {
                type: import("vue").PropType<string | number>;
            };
            visible: BooleanConstructor;
            width: {
                type: import("vue").PropType<string | number>;
            };
            zIndex: {
                type: NumberConstructor;
            };
            onCancel: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onClose: import("vue").PropType<(context: import("./type").DialogCloseContext) => void>;
            onCloseBtnClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onClosed: import("vue").PropType<() => void>;
            onConfirm: import("vue").PropType<(context: {
                e: MouseEvent | KeyboardEvent;
            }) => void>;
            onEscKeydown: import("vue").PropType<(context: {
                e: KeyboardEvent;
            }) => void>;
            onOpened: import("vue").PropType<() => void>;
            onOverlayClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        }>> & {
            "onUpdate:visible"?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "visible" | "body" | "footer" | "header" | "draggable" | "mode" | "placement" | "attach" | "destroyOnClose" | "theme" | "preventScrollThrough" | "showOverlay" | "closeBtn" | "cancelBtn" | "closeOnEscKeydown" | "closeOnOverlayClick" | "confirmBtn" | "confirmOnEnter" | "showInAttachedElement">;
        $attrs: {
            [x: string]: unknown;
        };
        $refs: {
            [x: string]: unknown;
        };
        $slots: Readonly<{
            [name: string]: import("vue").Slot;
        }>;
        $root: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>;
        $emit: (event: "update:visible", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
            attach: {
                type: import("vue").PropType<import("..").AttachNode>;
                default: string;
            };
            body: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: string;
            };
            cancelBtn: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps>;
                default: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps;
            };
            closeBtn: {
                type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: boolean;
            };
            closeOnEscKeydown: {
                type: BooleanConstructor;
                default: any;
            };
            closeOnOverlayClick: {
                type: BooleanConstructor;
                default: any;
            };
            confirmBtn: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps>;
                default: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps;
            };
            confirmOnEnter: BooleanConstructor;
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            destroyOnClose: BooleanConstructor;
            draggable: BooleanConstructor;
            footer: {
                type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: boolean;
            };
            header: {
                type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
                default: boolean;
            };
            mode: {
                type: import("vue").PropType<"normal" | "modal" | "modeless" | "full-screen">;
                default: "normal" | "modal" | "modeless" | "full-screen";
                validator(val: "normal" | "modal" | "modeless" | "full-screen"): boolean;
            };
            placement: {
                type: import("vue").PropType<"center" | "top">;
                default: "center" | "top";
                validator(val: "center" | "top"): boolean;
            };
            preventScrollThrough: {
                type: BooleanConstructor;
                default: boolean;
            };
            showInAttachedElement: BooleanConstructor;
            showOverlay: {
                type: BooleanConstructor;
                default: boolean;
            };
            theme: {
                type: import("vue").PropType<"default" | "success" | "danger" | "warning" | "info">;
                default: "default" | "success" | "danger" | "warning" | "info";
                validator(val: "default" | "success" | "danger" | "warning" | "info"): boolean;
            };
            top: {
                type: import("vue").PropType<string | number>;
            };
            visible: BooleanConstructor;
            width: {
                type: import("vue").PropType<string | number>;
            };
            zIndex: {
                type: NumberConstructor;
            };
            onCancel: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onClose: import("vue").PropType<(context: import("./type").DialogCloseContext) => void>;
            onCloseBtnClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onClosed: import("vue").PropType<() => void>;
            onConfirm: import("vue").PropType<(context: {
                e: MouseEvent | KeyboardEvent;
            }) => void>;
            onEscKeydown: import("vue").PropType<(context: {
                e: KeyboardEvent;
            }) => void>;
            onOpened: import("vue").PropType<() => void>;
            onOverlayClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        }>> & {
            "onUpdate:visible"?: (...args: any[]) => any;
        }, {
            COMPONENT_NAME: import("vue").ComputedRef<string>;
            isModal: import("vue").ComputedRef<boolean>;
            isModeLess: import("vue").ComputedRef<boolean>;
            isFullScreen: import("vue").ComputedRef<boolean>;
            maskClass: import("vue").ComputedRef<string[]>;
            dialogClass: import("vue").ComputedRef<string[]>;
            dialogStyle: import("vue").ComputedRef<{
                width: string | number;
            } | {
                width?: undefined;
            }>;
            dialogEle: import("vue").Ref<HTMLElement>;
            afterEnter: () => void;
            afterLeave: () => void;
            hasEventOn: (name: string) => boolean;
            renderDialog: () => JSX.Element;
            teleportElement: import("vue").Ref<string | Element>;
        }, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:visible"[], string, {
            visible: boolean;
            body: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            footer: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            header: string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            draggable: boolean;
            mode: "normal" | "modal" | "modeless" | "full-screen";
            placement: "center" | "top";
            attach: import("..").AttachNode;
            destroyOnClose: boolean;
            theme: "default" | "success" | "danger" | "warning" | "info";
            preventScrollThrough: boolean;
            showOverlay: boolean;
            closeBtn: string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            cancelBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
            closeOnEscKeydown: boolean;
            closeOnOverlayClick: boolean;
            confirmBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
            confirmOnEnter: boolean;
            showInAttachedElement: boolean;
        }, {}, string> & {
            beforeCreate?: (() => void) | (() => void)[];
            created?: (() => void) | (() => void)[];
            beforeMount?: (() => void) | (() => void)[];
            mounted?: (() => void) | (() => void)[];
            beforeUpdate?: (() => void) | (() => void)[];
            updated?: (() => void) | (() => void)[];
            activated?: (() => void) | (() => void)[];
            deactivated?: (() => void) | (() => void)[];
            beforeDestroy?: (() => void) | (() => void)[];
            beforeUnmount?: (() => void) | (() => void)[];
            destroyed?: (() => void) | (() => void)[];
            unmounted?: (() => void) | (() => void)[];
            renderTracked?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            renderTriggered?: ((e: import("vue").DebuggerEvent) => void) | ((e: import("vue").DebuggerEvent) => void)[];
            errorCaptured?: ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}, {}, string>, {}>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof import("vue").nextTick;
        $watch<T extends string | ((...args: any) => any)>(source: T, cb: T extends (...args: any) => infer R ? (args_0: R, args_1: R) => any : (...args: any) => any, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<import("vue").ExtractPropTypes<{
        attach: {
            type: import("vue").PropType<import("..").AttachNode>;
            default: string;
        };
        body: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            default: string;
        };
        cancelBtn: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps>;
            default: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps;
        };
        closeBtn: {
            type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            default: boolean;
        };
        closeOnEscKeydown: {
            type: BooleanConstructor;
            default: any;
        };
        closeOnOverlayClick: {
            type: BooleanConstructor;
            default: any;
        };
        confirmBtn: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps>;
            default: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps;
        };
        confirmOnEnter: BooleanConstructor;
        default: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        destroyOnClose: BooleanConstructor;
        draggable: BooleanConstructor;
        footer: {
            type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            default: boolean;
        };
        header: {
            type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            default: boolean;
        };
        mode: {
            type: import("vue").PropType<"normal" | "modal" | "modeless" | "full-screen">;
            default: "normal" | "modal" | "modeless" | "full-screen";
            validator(val: "normal" | "modal" | "modeless" | "full-screen"): boolean;
        };
        placement: {
            type: import("vue").PropType<"center" | "top">;
            default: "center" | "top";
            validator(val: "center" | "top"): boolean;
        };
        preventScrollThrough: {
            type: BooleanConstructor;
            default: boolean;
        };
        showInAttachedElement: BooleanConstructor;
        showOverlay: {
            type: BooleanConstructor;
            default: boolean;
        };
        theme: {
            type: import("vue").PropType<"default" | "success" | "danger" | "warning" | "info">;
            default: "default" | "success" | "danger" | "warning" | "info";
            validator(val: "default" | "success" | "danger" | "warning" | "info"): boolean;
        };
        top: {
            type: import("vue").PropType<string | number>;
        };
        visible: BooleanConstructor;
        width: {
            type: import("vue").PropType<string | number>;
        };
        zIndex: {
            type: NumberConstructor;
        };
        onCancel: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
        onClose: import("vue").PropType<(context: import("./type").DialogCloseContext) => void>;
        onCloseBtnClick: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
        onClosed: import("vue").PropType<() => void>;
        onConfirm: import("vue").PropType<(context: {
            e: MouseEvent | KeyboardEvent;
        }) => void>;
        onEscKeydown: import("vue").PropType<(context: {
            e: KeyboardEvent;
        }) => void>;
        onOpened: import("vue").PropType<() => void>;
        onOverlayClick: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
    }>> & {
        "onUpdate:visible"?: (...args: any[]) => any;
    } & import("vue").ShallowUnwrapRef<{
        COMPONENT_NAME: import("vue").ComputedRef<string>;
        isModal: import("vue").ComputedRef<boolean>;
        isModeLess: import("vue").ComputedRef<boolean>;
        isFullScreen: import("vue").ComputedRef<boolean>;
        maskClass: import("vue").ComputedRef<string[]>;
        dialogClass: import("vue").ComputedRef<string[]>;
        dialogStyle: import("vue").ComputedRef<{
            width: string | number;
        } | {
            width?: undefined;
        }>;
        dialogEle: import("vue").Ref<HTMLElement>;
        afterEnter: () => void;
        afterLeave: () => void;
        hasEventOn: (name: string) => boolean;
        renderDialog: () => JSX.Element;
        teleportElement: import("vue").Ref<string | Element>;
    }> & {} & import("vue").ComponentCustomProperties & {};
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
    attach: {
        type: import("vue").PropType<import("..").AttachNode>;
        default: string;
    };
    body: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        default: string;
    };
    cancelBtn: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps>;
        default: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps;
    };
    closeBtn: {
        type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        default: boolean;
    };
    closeOnEscKeydown: {
        type: BooleanConstructor;
        default: any;
    };
    closeOnOverlayClick: {
        type: BooleanConstructor;
        default: any;
    };
    confirmBtn: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps>;
        default: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue) | import("..").TdButtonProps;
    };
    confirmOnEnter: BooleanConstructor;
    default: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    destroyOnClose: BooleanConstructor;
    draggable: BooleanConstructor;
    footer: {
        type: import("vue").PropType<boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        default: boolean;
    };
    header: {
        type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        default: boolean;
    };
    mode: {
        type: import("vue").PropType<"normal" | "modal" | "modeless" | "full-screen">;
        default: "normal" | "modal" | "modeless" | "full-screen";
        validator(val: "normal" | "modal" | "modeless" | "full-screen"): boolean;
    };
    placement: {
        type: import("vue").PropType<"center" | "top">;
        default: "center" | "top";
        validator(val: "center" | "top"): boolean;
    };
    preventScrollThrough: {
        type: BooleanConstructor;
        default: boolean;
    };
    showInAttachedElement: BooleanConstructor;
    showOverlay: {
        type: BooleanConstructor;
        default: boolean;
    };
    theme: {
        type: import("vue").PropType<"default" | "success" | "danger" | "warning" | "info">;
        default: "default" | "success" | "danger" | "warning" | "info";
        validator(val: "default" | "success" | "danger" | "warning" | "info"): boolean;
    };
    top: {
        type: import("vue").PropType<string | number>;
    };
    visible: BooleanConstructor;
    width: {
        type: import("vue").PropType<string | number>;
    };
    zIndex: {
        type: NumberConstructor;
    };
    onCancel: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onClose: import("vue").PropType<(context: import("./type").DialogCloseContext) => void>;
    onCloseBtnClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onClosed: import("vue").PropType<() => void>;
    onConfirm: import("vue").PropType<(context: {
        e: MouseEvent | KeyboardEvent;
    }) => void>;
    onEscKeydown: import("vue").PropType<(context: {
        e: KeyboardEvent;
    }) => void>;
    onOpened: import("vue").PropType<() => void>;
    onOverlayClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
}>> & {
    "onUpdate:visible"?: (...args: any[]) => any;
}, {
    COMPONENT_NAME: import("vue").ComputedRef<string>;
    isModal: import("vue").ComputedRef<boolean>;
    isModeLess: import("vue").ComputedRef<boolean>;
    isFullScreen: import("vue").ComputedRef<boolean>;
    maskClass: import("vue").ComputedRef<string[]>;
    dialogClass: import("vue").ComputedRef<string[]>;
    dialogStyle: import("vue").ComputedRef<{
        width: string | number;
    } | {
        width?: undefined;
    }>;
    dialogEle: import("vue").Ref<HTMLElement>;
    afterEnter: () => void;
    afterLeave: () => void;
    hasEventOn: (name: string) => boolean;
    renderDialog: () => JSX.Element;
    teleportElement: import("vue").Ref<string | Element>;
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:visible"[], "update:visible", {
    visible: boolean;
    body: string | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    footer: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    header: string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    draggable: boolean;
    mode: "normal" | "modal" | "modeless" | "full-screen";
    placement: "center" | "top";
    attach: import("..").AttachNode;
    destroyOnClose: boolean;
    theme: "default" | "success" | "danger" | "warning" | "info";
    preventScrollThrough: boolean;
    showOverlay: boolean;
    closeBtn: string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    cancelBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
    closeOnEscKeydown: boolean;
    closeOnOverlayClick: boolean;
    confirmBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
    confirmOnEnter: boolean;
    showInAttachedElement: boolean;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export { default as DialogPlugin } from './plugin';
export default Dialog;
