import type { TypeDialogProps } from './type';
import './style';
export * from './type';
export declare type DialogProps = TypeDialogProps;
export declare const Dialog: import("vue/types/vue").ExtendedVue<{
    useGlobalIcon(tdIcon: Record<string, any>): import("../config-provider").IconConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & {
    getConfirmBtn(options: import("./mixins/action").MixinsConfirmBtn): any;
    getCancelBtn(options: import("./mixins/action").MixinsCancelBtn): any;
    getButtonByProps(button: string | import("../button").TypeButtonProps, defaultButton: import("../button").TypeButtonProps, className?: import("../../common.type").ClassName): JSX.Element;
    confirmBtnAction(e: MouseEvent): void;
    cancelBtnAction(e: MouseEvent): void;
    getDefaultConfirmBtnProps(options: import("./mixins/action").MixinsConfirmBtn): import("../button").TypeButtonProps;
    getDefaultCancelBtnProps(options: import("./mixins/action").MixinsCancelBtn): import("../button").TypeButtonProps;
} & {
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("../config-provider").DialogConfig;
    classPrefix: string;
    componentName: string;
    installName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
}, {
    uid: number;
    scrollWidth: number;
    disX: number;
    disY: number;
    windowInnerWidth: number;
    windowInnerHeight: number;
    dialogW: number;
    dialogH: number;
    dLeft: number;
    dTop: number;
}, {
    storeUid(flag: boolean): void;
    addKeyboardEvent(status: boolean): void;
    keyboardEvent(e: KeyboardEvent): void;
    keyboardEnterEvent(e: KeyboardEvent): void;
    overlayAction(e: MouseEvent): void;
    closeBtnAction(e: MouseEvent): void;
    cancelBtnAction(e: MouseEvent): void;
    confirmBtnAction(e: MouseEvent): void;
    afterEnter(): void;
    afterLeave(): void;
    emitCloseEvent(context: import("./type").DialogCloseContext): void;
    hasEventOn(name: string): boolean;
    getIcon(): any;
    mousedownHandler(targetEvent: MouseEvent): void;
    mouseMoverHandler(documentEvent: MouseEvent): void;
    mouseUpHandler(): void;
    initDragEvent(status: boolean): void;
    resizeAdjustPosition(): void;
    onStopDown(e: MouseEvent): void;
    renderDialog(): JSX.Element;
}, {
    isModal: boolean;
    isModeLess: boolean;
    isNormal: boolean;
    maskClass: import("../../common.type").ClassName;
    dialogClass: import("../../common.type").ClassName;
    positionClass: import("../../common.type").ClassName;
    wrapClass: import("../../common.type").ClassName;
    bodyClass: import("../../common.type").ClassName;
    ctxClass: import("../../common.type").ClassName;
    positionStyle: import("../../common.type").Styles;
    dialogStyle: import("../../common.type").Styles;
}, {
    attach: import("../../common.type").AttachNode;
    body: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    cancelBtn: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | import("../button").TypeButtonProps;
    closeBtn: string | boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    closeOnEscKeydown: any;
    closeOnOverlayClick: any;
    confirmBtn: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | import("../button").TypeButtonProps;
    confirmOnEnter: boolean;
    default: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    destroyOnClose: boolean;
    draggable: boolean;
    footer: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    header: string | boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    mode: "normal" | "modal" | "modeless";
    placement: "center" | "top";
    preventScrollThrough: boolean;
    showInAttachedElement: boolean;
    showOverlay: boolean;
    theme: "default" | "warning" | "success" | "danger" | "info";
    top: string | number;
    visible: boolean;
    width: string | number;
    zIndex: number;
    onCancel: (context: {
        e: MouseEvent;
    }) => void;
    onClose: (context: import("./type").DialogCloseContext) => void;
    onCloseBtnClick: (context: {
        e: MouseEvent;
    }) => void;
    onClosed: () => void;
    onConfirm: (context: {
        e: MouseEvent | KeyboardEvent;
    }) => void;
    onEscKeydown: (context: {
        e: KeyboardEvent;
    }) => void;
    onOpened: () => void;
    onOverlayClick: (context: {
        e: MouseEvent;
    }) => void;
}> & import("vue").PluginObject<import("vue/types/vue").ExtendedVue<{
    useGlobalIcon(tdIcon: Record<string, any>): import("../config-provider").IconConfig;
} & Record<never, any> & import("../config-provider/config-receiver").ConfigComponent & import("vue").default & {
    getConfirmBtn(options: import("./mixins/action").MixinsConfirmBtn): any;
    getCancelBtn(options: import("./mixins/action").MixinsCancelBtn): any;
    getButtonByProps(button: string | import("../button").TypeButtonProps, defaultButton: import("../button").TypeButtonProps, className?: import("../../common.type").ClassName): JSX.Element;
    confirmBtnAction(e: MouseEvent): void;
    cancelBtnAction(e: MouseEvent): void;
    getDefaultConfirmBtnProps(options: import("./mixins/action").MixinsConfirmBtn): import("../button").TypeButtonProps;
    getDefaultCancelBtnProps(options: import("./mixins/action").MixinsCancelBtn): import("../button").TypeButtonProps;
} & {
    t<T>(pattern: T, placement?: import("../config-provider/config-receiver").Placement): string;
} & {
    global: import("../config-provider").DialogConfig;
    classPrefix: string;
    componentName: string;
    installName: string;
    commonSizeClassName: Record<string, string>;
    commonStatusClassName: Record<string, string>;
}, {
    uid: number;
    scrollWidth: number;
    disX: number;
    disY: number;
    windowInnerWidth: number;
    windowInnerHeight: number;
    dialogW: number;
    dialogH: number;
    dLeft: number;
    dTop: number;
}, {
    storeUid(flag: boolean): void;
    addKeyboardEvent(status: boolean): void;
    keyboardEvent(e: KeyboardEvent): void;
    keyboardEnterEvent(e: KeyboardEvent): void;
    overlayAction(e: MouseEvent): void;
    closeBtnAction(e: MouseEvent): void;
    cancelBtnAction(e: MouseEvent): void;
    confirmBtnAction(e: MouseEvent): void;
    afterEnter(): void;
    afterLeave(): void;
    emitCloseEvent(context: import("./type").DialogCloseContext): void;
    hasEventOn(name: string): boolean;
    getIcon(): any;
    mousedownHandler(targetEvent: MouseEvent): void;
    mouseMoverHandler(documentEvent: MouseEvent): void;
    mouseUpHandler(): void;
    initDragEvent(status: boolean): void;
    resizeAdjustPosition(): void;
    onStopDown(e: MouseEvent): void;
    renderDialog(): JSX.Element;
}, {
    isModal: boolean;
    isModeLess: boolean;
    isNormal: boolean;
    maskClass: import("../../common.type").ClassName;
    dialogClass: import("../../common.type").ClassName;
    positionClass: import("../../common.type").ClassName;
    wrapClass: import("../../common.type").ClassName;
    bodyClass: import("../../common.type").ClassName;
    ctxClass: import("../../common.type").ClassName;
    positionStyle: import("../../common.type").Styles;
    dialogStyle: import("../../common.type").Styles;
}, {
    attach: import("../../common.type").AttachNode;
    body: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    cancelBtn: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | import("../button").TypeButtonProps;
    closeBtn: string | boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    closeOnEscKeydown: any;
    closeOnOverlayClick: any;
    confirmBtn: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue) | import("../button").TypeButtonProps;
    confirmOnEnter: boolean;
    default: string | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    destroyOnClose: boolean;
    draggable: boolean;
    footer: boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    header: string | boolean | ((h: import("vue").CreateElement) => import("vue/types/vnode").ScopedSlotReturnValue);
    mode: "normal" | "modal" | "modeless";
    placement: "center" | "top";
    preventScrollThrough: boolean;
    showInAttachedElement: boolean;
    showOverlay: boolean;
    theme: "default" | "warning" | "success" | "danger" | "info";
    top: string | number;
    visible: boolean;
    width: string | number;
    zIndex: number;
    onCancel: (context: {
        e: MouseEvent;
    }) => void;
    onClose: (context: import("./type").DialogCloseContext) => void;
    onCloseBtnClick: (context: {
        e: MouseEvent;
    }) => void;
    onClosed: () => void;
    onConfirm: (context: {
        e: MouseEvent | KeyboardEvent;
    }) => void;
    onEscKeydown: (context: {
        e: KeyboardEvent;
    }) => void;
    onOpened: () => void;
    onOverlayClick: (context: {
        e: MouseEvent;
    }) => void;
}>>;
export { default as DialogPlugin } from './plugin';
export default Dialog;
