import type { CSSProperties, ExtractPropTypes, PropType } from 'vue';
import { nextTick } from 'vue';
declare type ILevelMove = number | [number, number];
declare const PlacementTypes: ["top", "right", "bottom", "left"];
export declare type placementType = typeof PlacementTypes[number];
declare const SizeTypes: ["default", "large"];
export declare type sizeType = typeof SizeTypes[number];
export interface PushState {
    distance: string | number;
}
export declare const drawerProps: () => {
    autofocus: import("vue-types").VueTypeValidableDef<boolean>;
    closable: import("vue-types").VueTypeValidableDef<boolean>;
    closeIcon: import("vue-types").VueTypeValidableDef<any>;
    destroyOnClose: import("vue-types").VueTypeValidableDef<boolean>;
    forceRender: import("vue-types").VueTypeValidableDef<boolean>;
    getContainer: import("vue-types").VueTypeValidableDef<any>;
    maskClosable: import("vue-types").VueTypeValidableDef<boolean>;
    mask: import("vue-types").VueTypeValidableDef<boolean>;
    maskStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    /** @deprecated Use `style` instead */
    wrapStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    style: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    class: import("vue-types").VueTypeValidableDef<any>;
    /** @deprecated Use `class` instead */
    wrapClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    size: {
        type: PropType<"default" | "large">;
    };
    drawerStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    headerStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    bodyStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    contentWrapperStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    title: import("vue-types").VueTypeValidableDef<any>;
    visible: import("vue-types").VueTypeValidableDef<boolean>;
    width: import("vue-types").VueTypeDef<string | number>;
    height: import("vue-types").VueTypeDef<string | number>;
    zIndex: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    push: import("vue-types").VueTypeDef<boolean | PushState>;
    placement: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top">;
    keyboard: import("vue-types").VueTypeValidableDef<boolean>;
    extra: import("vue-types").VueTypeValidableDef<any>;
    footer: import("vue-types").VueTypeValidableDef<any>;
    footerStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    level: import("vue-types").VueTypeValidableDef<any>;
    levelMove: {
        type: PropType<ILevelMove | ((e: {
            target: HTMLElement;
            open: boolean;
        }) => ILevelMove)>;
    };
    handle: import("vue-types").VueTypeValidableDef<any>;
    /** @deprecated Use `@afterVisibleChange` instead */
    afterVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
};
export declare type DrawerProps = Partial<ExtractPropTypes<ReturnType<typeof drawerProps>>>;
declare const _default: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            style: CSSProperties;
            prefixCls: string;
            zIndex: number;
            afterVisibleChange: (...args: any[]) => any;
            bodyStyle: {
                [key: string]: any;
            };
            maskStyle: {
                [key: string]: any;
            };
            contentWrapperStyle: {
                [key: string]: any;
            };
            wrapStyle: CSSProperties;
            wrapClassName: string;
            drawerStyle: {
                [key: string]: any;
            };
            headerStyle: {
                [key: string]: any;
            };
            footerStyle: {
                [key: string]: any;
            };
        }> & Omit<Readonly<ExtractPropTypes<{
            autofocus: import("vue-types").VueTypeValidableDef<boolean>;
            closable: import("vue-types").VueTypeValidableDef<boolean>;
            closeIcon: import("vue-types").VueTypeValidableDef<any>;
            destroyOnClose: import("vue-types").VueTypeValidableDef<boolean>;
            forceRender: import("vue-types").VueTypeValidableDef<boolean>;
            getContainer: import("vue-types").VueTypeValidableDef<any>;
            maskClosable: import("vue-types").VueTypeValidableDef<boolean>;
            mask: import("vue-types").VueTypeValidableDef<boolean>;
            maskStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            /** @deprecated Use `style` instead */
            wrapStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            style: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            class: import("vue-types").VueTypeValidableDef<any>;
            /** @deprecated Use `class` instead */
            wrapClassName: import("vue-types").VueTypeValidableDef<string> & {
                default: string;
            };
            size: {
                type: PropType<"default" | "large">;
            };
            drawerStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            headerStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            bodyStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            contentWrapperStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            title: import("vue-types").VueTypeValidableDef<any>;
            visible: import("vue-types").VueTypeValidableDef<boolean>;
            width: import("vue-types").VueTypeDef<string | number>;
            height: import("vue-types").VueTypeDef<string | number>;
            zIndex: import("vue-types").VueTypeValidableDef<number> & {
                default: number;
            };
            prefixCls: import("vue-types").VueTypeValidableDef<string> & {
                default: string;
            };
            push: import("vue-types").VueTypeDef<boolean | PushState>;
            placement: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top">;
            keyboard: import("vue-types").VueTypeValidableDef<boolean>;
            extra: import("vue-types").VueTypeValidableDef<any>;
            footer: import("vue-types").VueTypeValidableDef<any>;
            footerStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            level: import("vue-types").VueTypeValidableDef<any>;
            levelMove: {
                type: PropType<ILevelMove | ((e: {
                    target: HTMLElement;
                    open: boolean;
                }) => ILevelMove)>;
            };
            handle: import("vue-types").VueTypeValidableDef<any>;
            /** @deprecated Use `@afterVisibleChange` instead */
            afterVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
                default: (...args: any[]) => any;
            };
        }>> & {
            onClose?: (...args: any[]) => any;
            "onUpdate:visible"?: (...args: any[]) => any;
            onAfterVisibleChange?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "style" | "prefixCls" | "zIndex" | "afterVisibleChange" | "bodyStyle" | "maskStyle" | "contentWrapperStyle" | "wrapStyle" | "wrapClassName" | "drawerStyle" | "headerStyle" | "footerStyle">;
        $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, {}>>;
        $parent: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>;
        $emit: (event: "close" | "update:visible" | "afterVisibleChange", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<ExtractPropTypes<{
            autofocus: import("vue-types").VueTypeValidableDef<boolean>;
            closable: import("vue-types").VueTypeValidableDef<boolean>;
            closeIcon: import("vue-types").VueTypeValidableDef<any>;
            destroyOnClose: import("vue-types").VueTypeValidableDef<boolean>;
            forceRender: import("vue-types").VueTypeValidableDef<boolean>;
            getContainer: import("vue-types").VueTypeValidableDef<any>;
            maskClosable: import("vue-types").VueTypeValidableDef<boolean>;
            mask: import("vue-types").VueTypeValidableDef<boolean>;
            maskStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            /** @deprecated Use `style` instead */
            wrapStyle: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            style: {
                type: PropType<CSSProperties>;
                default: CSSProperties;
            };
            class: import("vue-types").VueTypeValidableDef<any>;
            /** @deprecated Use `class` instead */
            wrapClassName: import("vue-types").VueTypeValidableDef<string> & {
                default: string;
            };
            size: {
                type: PropType<"default" | "large">;
            };
            drawerStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            headerStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            bodyStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            contentWrapperStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            title: import("vue-types").VueTypeValidableDef<any>;
            visible: import("vue-types").VueTypeValidableDef<boolean>;
            width: import("vue-types").VueTypeDef<string | number>;
            height: import("vue-types").VueTypeDef<string | number>;
            zIndex: import("vue-types").VueTypeValidableDef<number> & {
                default: number;
            };
            prefixCls: import("vue-types").VueTypeValidableDef<string> & {
                default: string;
            };
            push: import("vue-types").VueTypeDef<boolean | PushState>;
            placement: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top">;
            keyboard: import("vue-types").VueTypeValidableDef<boolean>;
            extra: import("vue-types").VueTypeValidableDef<any>;
            footer: import("vue-types").VueTypeValidableDef<any>;
            footerStyle: import("vue-types").VueTypeValidableDef<{
                [key: string]: any;
            }> & {
                default: () => {
                    [key: string]: any;
                };
            };
            level: import("vue-types").VueTypeValidableDef<any>;
            levelMove: {
                type: PropType<ILevelMove | ((e: {
                    target: HTMLElement;
                    open: boolean;
                }) => ILevelMove)>;
            };
            handle: import("vue-types").VueTypeValidableDef<any>;
            /** @deprecated Use `@afterVisibleChange` instead */
            afterVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
                default: (...args: any[]) => any;
            };
        }>> & {
            onClose?: (...args: any[]) => any;
            "onUpdate:visible"?: (...args: any[]) => any;
            onAfterVisibleChange?: (...args: any[]) => any;
        }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "update:visible" | "afterVisibleChange")[], string, {
            style: CSSProperties;
            prefixCls: string;
            zIndex: number;
            afterVisibleChange: (...args: any[]) => any;
            bodyStyle: {
                [key: string]: any;
            };
            maskStyle: {
                [key: string]: any;
            };
            contentWrapperStyle: {
                [key: string]: any;
            };
            wrapStyle: CSSProperties;
            wrapClassName: string;
            drawerStyle: {
                [key: string]: any;
            };
            headerStyle: {
                [key: string]: any;
            };
            footerStyle: {
                [key: string]: any;
            };
        }> & {
            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, {}>>, info: string) => boolean | void) | ((err: unknown, instance: import("vue").ComponentPublicInstance<{}, {}, {}, {}, {}, {}, {}, {}, false, import("vue").ComponentOptionsBase<any, any, any, any, any, any, any, any, any, {}>>, info: string) => boolean | void)[];
        };
        $forceUpdate: () => void;
        $nextTick: typeof nextTick;
        $watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean>): import("vue").WatchStopHandle;
    } & Readonly<ExtractPropTypes<{
        autofocus: import("vue-types").VueTypeValidableDef<boolean>;
        closable: import("vue-types").VueTypeValidableDef<boolean>;
        closeIcon: import("vue-types").VueTypeValidableDef<any>;
        destroyOnClose: import("vue-types").VueTypeValidableDef<boolean>;
        forceRender: import("vue-types").VueTypeValidableDef<boolean>;
        getContainer: import("vue-types").VueTypeValidableDef<any>;
        maskClosable: import("vue-types").VueTypeValidableDef<boolean>;
        mask: import("vue-types").VueTypeValidableDef<boolean>;
        maskStyle: import("vue-types").VueTypeValidableDef<{
            [key: string]: any;
        }> & {
            default: () => {
                [key: string]: any;
            };
        };
        /** @deprecated Use `style` instead */
        wrapStyle: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        style: {
            type: PropType<CSSProperties>;
            default: CSSProperties;
        };
        class: import("vue-types").VueTypeValidableDef<any>;
        /** @deprecated Use `class` instead */
        wrapClassName: import("vue-types").VueTypeValidableDef<string> & {
            default: string;
        };
        size: {
            type: PropType<"default" | "large">;
        };
        drawerStyle: import("vue-types").VueTypeValidableDef<{
            [key: string]: any;
        }> & {
            default: () => {
                [key: string]: any;
            };
        };
        headerStyle: import("vue-types").VueTypeValidableDef<{
            [key: string]: any;
        }> & {
            default: () => {
                [key: string]: any;
            };
        };
        bodyStyle: import("vue-types").VueTypeValidableDef<{
            [key: string]: any;
        }> & {
            default: () => {
                [key: string]: any;
            };
        };
        contentWrapperStyle: import("vue-types").VueTypeValidableDef<{
            [key: string]: any;
        }> & {
            default: () => {
                [key: string]: any;
            };
        };
        title: import("vue-types").VueTypeValidableDef<any>;
        visible: import("vue-types").VueTypeValidableDef<boolean>;
        width: import("vue-types").VueTypeDef<string | number>;
        height: import("vue-types").VueTypeDef<string | number>;
        zIndex: import("vue-types").VueTypeValidableDef<number> & {
            default: number;
        };
        prefixCls: import("vue-types").VueTypeValidableDef<string> & {
            default: string;
        };
        push: import("vue-types").VueTypeDef<boolean | PushState>;
        placement: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top">;
        keyboard: import("vue-types").VueTypeValidableDef<boolean>;
        extra: import("vue-types").VueTypeValidableDef<any>;
        footer: import("vue-types").VueTypeValidableDef<any>;
        footerStyle: import("vue-types").VueTypeValidableDef<{
            [key: string]: any;
        }> & {
            default: () => {
                [key: string]: any;
            };
        };
        level: import("vue-types").VueTypeValidableDef<any>;
        levelMove: {
            type: PropType<ILevelMove | ((e: {
                target: HTMLElement;
                open: boolean;
            }) => ILevelMove)>;
        };
        handle: import("vue-types").VueTypeValidableDef<any>;
        /** @deprecated Use `@afterVisibleChange` instead */
        afterVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
            default: (...args: any[]) => any;
        };
    }>> & {
        onClose?: (...args: any[]) => any;
        "onUpdate:visible"?: (...args: any[]) => any;
        onAfterVisibleChange?: (...args: any[]) => any;
    } & import("vue").ShallowUnwrapRef<() => JSX.Element> & {} & {} & import("vue").ComponentCustomProperties;
    __isFragment?: never;
    __isTeleport?: never;
    __isSuspense?: never;
} & import("vue").ComponentOptionsBase<Readonly<ExtractPropTypes<{
    autofocus: import("vue-types").VueTypeValidableDef<boolean>;
    closable: import("vue-types").VueTypeValidableDef<boolean>;
    closeIcon: import("vue-types").VueTypeValidableDef<any>;
    destroyOnClose: import("vue-types").VueTypeValidableDef<boolean>;
    forceRender: import("vue-types").VueTypeValidableDef<boolean>;
    getContainer: import("vue-types").VueTypeValidableDef<any>;
    maskClosable: import("vue-types").VueTypeValidableDef<boolean>;
    mask: import("vue-types").VueTypeValidableDef<boolean>;
    maskStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    /** @deprecated Use `style` instead */
    wrapStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    style: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    class: import("vue-types").VueTypeValidableDef<any>;
    /** @deprecated Use `class` instead */
    wrapClassName: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    size: {
        type: PropType<"default" | "large">;
    };
    drawerStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    headerStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    bodyStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    contentWrapperStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    title: import("vue-types").VueTypeValidableDef<any>;
    visible: import("vue-types").VueTypeValidableDef<boolean>;
    width: import("vue-types").VueTypeDef<string | number>;
    height: import("vue-types").VueTypeDef<string | number>;
    zIndex: import("vue-types").VueTypeValidableDef<number> & {
        default: number;
    };
    prefixCls: import("vue-types").VueTypeValidableDef<string> & {
        default: string;
    };
    push: import("vue-types").VueTypeDef<boolean | PushState>;
    placement: import("vue-types").VueTypeDef<"left" | "right" | "bottom" | "top">;
    keyboard: import("vue-types").VueTypeValidableDef<boolean>;
    extra: import("vue-types").VueTypeValidableDef<any>;
    footer: import("vue-types").VueTypeValidableDef<any>;
    footerStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    level: import("vue-types").VueTypeValidableDef<any>;
    levelMove: {
        type: PropType<ILevelMove | ((e: {
            target: HTMLElement;
            open: boolean;
        }) => ILevelMove)>;
    };
    handle: import("vue-types").VueTypeValidableDef<any>;
    /** @deprecated Use `@afterVisibleChange` instead */
    afterVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
}>> & {
    onClose?: (...args: any[]) => any;
    "onUpdate:visible"?: (...args: any[]) => any;
    onAfterVisibleChange?: (...args: any[]) => any;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("close" | "update:visible" | "afterVisibleChange")[], "close" | "update:visible" | "afterVisibleChange", {
    style: CSSProperties;
    prefixCls: string;
    zIndex: number;
    afterVisibleChange: (...args: any[]) => any;
    bodyStyle: {
        [key: string]: any;
    };
    maskStyle: {
        [key: string]: any;
    };
    contentWrapperStyle: {
        [key: string]: any;
    };
    wrapStyle: CSSProperties;
    wrapClassName: string;
    drawerStyle: {
        [key: string]: any;
    };
    headerStyle: {
        [key: string]: any;
    };
    footerStyle: {
        [key: string]: any;
    };
}> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps & import("@vue/runtime-core").Plugin;
export default _default;
