import type { TdDrawerProps } from './type';
import './style';
export * from './type';
export declare type DrawerProps = TdDrawerProps;
export declare const Drawer: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            visible: boolean;
            footer: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            header: string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            size: string;
            mode: "push" | "overlay";
            placement: "left" | "top" | "bottom" | "right";
            attach: import("..").AttachNode;
            destroyOnClose: boolean;
            preventScrollThrough: boolean;
            showOverlay: boolean;
            cancelBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
            closeOnEscKeydown: boolean;
            closeOnOverlayClick: boolean;
            confirmBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
            showInAttachedElement: boolean;
            sizeDraggable: 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)>;
            };
            cancelBtn: {
                type: import("vue").PropType<import("./type").FooterButton>;
                default: import("./type").FooterButton;
            };
            closeBtn: {
                type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            closeOnEscKeydown: {
                type: BooleanConstructor;
                default: any;
            };
            closeOnOverlayClick: {
                type: BooleanConstructor;
                default: any;
            };
            confirmBtn: {
                type: import("vue").PropType<import("./type").FooterButton>;
                default: import("./type").FooterButton;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            destroyOnClose: 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<"push" | "overlay">;
                default: "push" | "overlay";
                validator(val: "push" | "overlay"): boolean;
            };
            placement: {
                type: import("vue").PropType<"left" | "top" | "bottom" | "right">;
                default: "left" | "top" | "bottom" | "right";
                validator(val: "left" | "top" | "bottom" | "right"): boolean;
            };
            preventScrollThrough: {
                type: BooleanConstructor;
                default: boolean;
            };
            showInAttachedElement: BooleanConstructor;
            showOverlay: {
                type: BooleanConstructor;
                default: boolean;
            };
            size: {
                type: StringConstructor;
                default: any;
            };
            sizeDraggable: BooleanConstructor;
            visible: BooleanConstructor;
            zIndex: {
                type: NumberConstructor;
            };
            onCancel: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onClose: import("vue").PropType<(context: import("./type").DrawerCloseContext) => void>;
            onCloseBtnClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onConfirm: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onEscKeydown: import("vue").PropType<(context: {
                e: KeyboardEvent;
            }) => void>;
            onOverlayClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        }>> & {
            "onUpdate:visible"?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "visible" | "footer" | "header" | "size" | "mode" | "placement" | "attach" | "destroyOnClose" | "preventScrollThrough" | "showOverlay" | "cancelBtn" | "closeOnEscKeydown" | "closeOnOverlayClick" | "confirmBtn" | "showInAttachedElement" | "sizeDraggable">;
        $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)>;
            };
            cancelBtn: {
                type: import("vue").PropType<import("./type").FooterButton>;
                default: import("./type").FooterButton;
            };
            closeBtn: {
                type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            closeOnEscKeydown: {
                type: BooleanConstructor;
                default: any;
            };
            closeOnOverlayClick: {
                type: BooleanConstructor;
                default: any;
            };
            confirmBtn: {
                type: import("vue").PropType<import("./type").FooterButton>;
                default: import("./type").FooterButton;
            };
            default: {
                type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
            };
            destroyOnClose: 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<"push" | "overlay">;
                default: "push" | "overlay";
                validator(val: "push" | "overlay"): boolean;
            };
            placement: {
                type: import("vue").PropType<"left" | "top" | "bottom" | "right">;
                default: "left" | "top" | "bottom" | "right";
                validator(val: "left" | "top" | "bottom" | "right"): boolean;
            };
            preventScrollThrough: {
                type: BooleanConstructor;
                default: boolean;
            };
            showInAttachedElement: BooleanConstructor;
            showOverlay: {
                type: BooleanConstructor;
                default: boolean;
            };
            size: {
                type: StringConstructor;
                default: any;
            };
            sizeDraggable: BooleanConstructor;
            visible: BooleanConstructor;
            zIndex: {
                type: NumberConstructor;
            };
            onCancel: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onClose: import("vue").PropType<(context: import("./type").DrawerCloseContext) => void>;
            onCloseBtnClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onConfirm: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
            onEscKeydown: import("vue").PropType<(context: {
                e: KeyboardEvent;
            }) => void>;
            onOverlayClick: import("vue").PropType<(context: {
                e: MouseEvent;
            }) => void>;
        }>> & {
            "onUpdate:visible"?: (...args: any[]) => any;
        }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:visible"[], string, {
            visible: boolean;
            footer: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            header: string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
            size: string;
            mode: "push" | "overlay";
            placement: "left" | "top" | "bottom" | "right";
            attach: import("..").AttachNode;
            destroyOnClose: boolean;
            preventScrollThrough: boolean;
            showOverlay: boolean;
            cancelBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
            closeOnEscKeydown: boolean;
            closeOnOverlayClick: boolean;
            confirmBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
            showInAttachedElement: boolean;
            sizeDraggable: 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)>;
        };
        cancelBtn: {
            type: import("vue").PropType<import("./type").FooterButton>;
            default: import("./type").FooterButton;
        };
        closeBtn: {
            type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        closeOnEscKeydown: {
            type: BooleanConstructor;
            default: any;
        };
        closeOnOverlayClick: {
            type: BooleanConstructor;
            default: any;
        };
        confirmBtn: {
            type: import("vue").PropType<import("./type").FooterButton>;
            default: import("./type").FooterButton;
        };
        default: {
            type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
        };
        destroyOnClose: 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<"push" | "overlay">;
            default: "push" | "overlay";
            validator(val: "push" | "overlay"): boolean;
        };
        placement: {
            type: import("vue").PropType<"left" | "top" | "bottom" | "right">;
            default: "left" | "top" | "bottom" | "right";
            validator(val: "left" | "top" | "bottom" | "right"): boolean;
        };
        preventScrollThrough: {
            type: BooleanConstructor;
            default: boolean;
        };
        showInAttachedElement: BooleanConstructor;
        showOverlay: {
            type: BooleanConstructor;
            default: boolean;
        };
        size: {
            type: StringConstructor;
            default: any;
        };
        sizeDraggable: BooleanConstructor;
        visible: BooleanConstructor;
        zIndex: {
            type: NumberConstructor;
        };
        onCancel: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
        onClose: import("vue").PropType<(context: import("./type").DrawerCloseContext) => void>;
        onCloseBtnClick: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
        onConfirm: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
        onEscKeydown: import("vue").PropType<(context: {
            e: KeyboardEvent;
        }) => void>;
        onOverlayClick: import("vue").PropType<(context: {
            e: MouseEvent;
        }) => void>;
    }>> & {
        "onUpdate:visible"?: (...args: any[]) => any;
    } & import("vue").ShallowUnwrapRef<() => JSX.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)>;
    };
    cancelBtn: {
        type: import("vue").PropType<import("./type").FooterButton>;
        default: import("./type").FooterButton;
    };
    closeBtn: {
        type: import("vue").PropType<string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    closeOnEscKeydown: {
        type: BooleanConstructor;
        default: any;
    };
    closeOnOverlayClick: {
        type: BooleanConstructor;
        default: any;
    };
    confirmBtn: {
        type: import("vue").PropType<import("./type").FooterButton>;
        default: import("./type").FooterButton;
    };
    default: {
        type: import("vue").PropType<string | ((h: typeof import("vue").h) => import("..").SlotReturnValue)>;
    };
    destroyOnClose: 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<"push" | "overlay">;
        default: "push" | "overlay";
        validator(val: "push" | "overlay"): boolean;
    };
    placement: {
        type: import("vue").PropType<"left" | "top" | "bottom" | "right">;
        default: "left" | "top" | "bottom" | "right";
        validator(val: "left" | "top" | "bottom" | "right"): boolean;
    };
    preventScrollThrough: {
        type: BooleanConstructor;
        default: boolean;
    };
    showInAttachedElement: BooleanConstructor;
    showOverlay: {
        type: BooleanConstructor;
        default: boolean;
    };
    size: {
        type: StringConstructor;
        default: any;
    };
    sizeDraggable: BooleanConstructor;
    visible: BooleanConstructor;
    zIndex: {
        type: NumberConstructor;
    };
    onCancel: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onClose: import("vue").PropType<(context: import("./type").DrawerCloseContext) => void>;
    onCloseBtnClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onConfirm: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
    onEscKeydown: import("vue").PropType<(context: {
        e: KeyboardEvent;
    }) => void>;
    onOverlayClick: import("vue").PropType<(context: {
        e: MouseEvent;
    }) => void>;
}>> & {
    "onUpdate:visible"?: (...args: any[]) => any;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, "update:visible"[], "update:visible", {
    visible: boolean;
    footer: boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    header: string | boolean | ((h: typeof import("vue").h) => import("..").SlotReturnValue);
    size: string;
    mode: "push" | "overlay";
    placement: "left" | "top" | "bottom" | "right";
    attach: import("..").AttachNode;
    destroyOnClose: boolean;
    preventScrollThrough: boolean;
    showOverlay: boolean;
    cancelBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
    closeOnEscKeydown: boolean;
    closeOnOverlayClick: boolean;
    confirmBtn: import("..").SlotReturnValue | import("..").TdButtonProps;
    showInAttachedElement: boolean;
    sizeDraggable: boolean;
}, {}, string> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin<any[]>;
export default Drawer;
