import type { CSSProperties, ExtractPropTypes, PropType } from 'vue';
import { nextTick } from 'vue';
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;
}
declare const drawerProps: () => {
    autofocus: import("vue-types").VueTypeValidableDef<boolean>;
    closable: import("vue-types").VueTypeValidableDef<boolean>;
    closeIcon: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
    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: import("vue-types").VueTypeValidableDef<CSSProperties>;
    style: import("vue-types").VueTypeValidableDef<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<import("../_util/type").VueNode>;
    visible: import("vue-types").VueTypeValidableDef<boolean> & {
        required: true;
    };
    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<"top" | "bottom" | "left" | "right">;
    keyboard: import("vue-types").VueTypeValidableDef<boolean>;
    extra: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
    footer: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
    footerStyle: import("vue-types").VueTypeValidableDef<{
        [key: string]: any;
    }> & {
        default: () => {
            [key: string]: any;
        };
    };
    level: import("vue-types").VueTypeValidableDef<any>;
    levelMove: import("vue-types").VueTypeValidableDef<any>;
    handle: import("vue-types").VueTypeValidableDef<import("../_util/type").VueNode>;
    /** @deprecated Use `@afterVisibleChange` instead */
    afterVisibleChange: import("vue-types").VueTypeValidableDef<(...args: any[]) => any> & {
        default: (...args: any[]) => any;
    };
};
export declare type DrawerProps = Partial<ExtractPropTypes<typeof drawerProps>>;
declare const _default: {
    new (...args: any[]): {
        $: import("vue").ComponentInternalInstance;
        $data: {};
        $props: Partial<{
            prefixCls: string;
            zIndex: number;
            afterVisibleChange: (...args: any[]) => any;
            bodyStyle: {
                [key: string]: any;
            };
            maskStyle: {
                [key: string]: any;
            };
            contentWrapperStyle: {
                [key: string]: any;
            };
            wrapClassName: string;
            drawerStyle: {
                [key: string]: any;
            };
            headerStyle: {
                [key: string]: any;
            };
            footerStyle: {
                [key: string]: any;
            };
        }> & Omit<Readonly<{
            autofocus?: unknown;
            closable?: unknown;
            closeIcon?: unknown;
            destroyOnClose?: unknown;
            forceRender?: unknown;
            getContainer?: unknown;
            maskClosable?: unknown;
            mask?: unknown;
            maskStyle?: unknown;
            wrapStyle?: unknown;
            style?: unknown;
            class?: unknown;
            wrapClassName?: unknown;
            size?: unknown;
            drawerStyle?: unknown;
            headerStyle?: unknown;
            bodyStyle?: unknown;
            contentWrapperStyle?: unknown;
            title?: unknown;
            visible?: unknown;
            width?: unknown;
            height?: unknown;
            zIndex?: unknown;
            prefixCls?: unknown;
            push?: unknown;
            placement?: unknown;
            keyboard?: unknown;
            extra?: unknown;
            footer?: unknown;
            footerStyle?: unknown;
            level?: unknown;
            levelMove?: unknown;
            handle?: unknown;
            afterVisibleChange?: unknown;
        } & {
            prefixCls: string;
            visible: boolean;
            zIndex: number;
            bodyStyle: {
                [key: string]: any;
            };
            maskStyle: {
                [key: string]: any;
            };
            contentWrapperStyle: {
                [key: string]: any;
            };
            wrapClassName: string;
            drawerStyle: {
                [key: string]: any;
            };
            headerStyle: {
                [key: string]: any;
            };
            footerStyle: {
                [key: string]: any;
            };
        } & {
            style?: CSSProperties;
            width?: string | number;
            height?: string | number;
            footer?: import("../_util/type").VueNode;
            title?: import("../_util/type").VueNode;
            mask?: boolean;
            push?: boolean | PushState;
            size?: "default" | "large";
            class?: any;
            autofocus?: boolean;
            forceRender?: boolean;
            getContainer?: any;
            maskClosable?: boolean;
            placement?: "top" | "bottom" | "left" | "right";
            afterVisibleChange?: (...args: any[]) => any;
            level?: any;
            keyboard?: boolean;
            closable?: boolean;
            closeIcon?: import("../_util/type").VueNode;
            extra?: import("../_util/type").VueNode;
            levelMove?: any;
            destroyOnClose?: boolean;
            wrapStyle?: CSSProperties;
            handle?: import("../_util/type").VueNode;
        }> & {
            onClose?: (...args: any[]) => any;
            "onUpdate:visible"?: (...args: any[]) => any;
            onAfterVisibleChange?: (...args: any[]) => any;
        } & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "prefixCls" | "zIndex" | "afterVisibleChange" | "bodyStyle" | "maskStyle" | "contentWrapperStyle" | "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: "update:visible" | "close" | "afterVisibleChange", ...args: any[]) => void;
        $el: any;
        $options: import("vue").ComponentOptionsBase<Readonly<{
            autofocus?: unknown;
            closable?: unknown;
            closeIcon?: unknown;
            destroyOnClose?: unknown;
            forceRender?: unknown;
            getContainer?: unknown;
            maskClosable?: unknown;
            mask?: unknown;
            maskStyle?: unknown;
            wrapStyle?: unknown;
            style?: unknown;
            class?: unknown;
            wrapClassName?: unknown;
            size?: unknown;
            drawerStyle?: unknown;
            headerStyle?: unknown;
            bodyStyle?: unknown;
            contentWrapperStyle?: unknown;
            title?: unknown;
            visible?: unknown;
            width?: unknown;
            height?: unknown;
            zIndex?: unknown;
            prefixCls?: unknown;
            push?: unknown;
            placement?: unknown;
            keyboard?: unknown;
            extra?: unknown;
            footer?: unknown;
            footerStyle?: unknown;
            level?: unknown;
            levelMove?: unknown;
            handle?: unknown;
            afterVisibleChange?: unknown;
        } & {
            prefixCls: string;
            visible: boolean;
            zIndex: number;
            bodyStyle: {
                [key: string]: any;
            };
            maskStyle: {
                [key: string]: any;
            };
            contentWrapperStyle: {
                [key: string]: any;
            };
            wrapClassName: string;
            drawerStyle: {
                [key: string]: any;
            };
            headerStyle: {
                [key: string]: any;
            };
            footerStyle: {
                [key: string]: any;
            };
        } & {
            style?: CSSProperties;
            width?: string | number;
            height?: string | number;
            footer?: import("../_util/type").VueNode;
            title?: import("../_util/type").VueNode;
            mask?: boolean;
            push?: boolean | PushState;
            size?: "default" | "large";
            class?: any;
            autofocus?: boolean;
            forceRender?: boolean;
            getContainer?: any;
            maskClosable?: boolean;
            placement?: "top" | "bottom" | "left" | "right";
            afterVisibleChange?: (...args: any[]) => any;
            level?: any;
            keyboard?: boolean;
            closable?: boolean;
            closeIcon?: import("../_util/type").VueNode;
            extra?: import("../_util/type").VueNode;
            levelMove?: any;
            destroyOnClose?: boolean;
            wrapStyle?: CSSProperties;
            handle?: import("../_util/type").VueNode;
        }> & {
            onClose?: (...args: any[]) => any;
            "onUpdate:visible"?: (...args: any[]) => any;
            onAfterVisibleChange?: (...args: any[]) => any;
        }, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:visible" | "close" | "afterVisibleChange")[], string, {
            prefixCls: string;
            zIndex: number;
            afterVisibleChange: (...args: any[]) => any;
            bodyStyle: {
                [key: string]: any;
            };
            maskStyle: {
                [key: string]: any;
            };
            contentWrapperStyle: {
                [key: string]: any;
            };
            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<{
        autofocus?: unknown;
        closable?: unknown;
        closeIcon?: unknown;
        destroyOnClose?: unknown;
        forceRender?: unknown;
        getContainer?: unknown;
        maskClosable?: unknown;
        mask?: unknown;
        maskStyle?: unknown;
        wrapStyle?: unknown;
        style?: unknown;
        class?: unknown;
        wrapClassName?: unknown;
        size?: unknown;
        drawerStyle?: unknown;
        headerStyle?: unknown;
        bodyStyle?: unknown;
        contentWrapperStyle?: unknown;
        title?: unknown;
        visible?: unknown;
        width?: unknown;
        height?: unknown;
        zIndex?: unknown;
        prefixCls?: unknown;
        push?: unknown;
        placement?: unknown;
        keyboard?: unknown;
        extra?: unknown;
        footer?: unknown;
        footerStyle?: unknown;
        level?: unknown;
        levelMove?: unknown;
        handle?: unknown;
        afterVisibleChange?: unknown;
    } & {
        prefixCls: string;
        visible: boolean;
        zIndex: number;
        bodyStyle: {
            [key: string]: any;
        };
        maskStyle: {
            [key: string]: any;
        };
        contentWrapperStyle: {
            [key: string]: any;
        };
        wrapClassName: string;
        drawerStyle: {
            [key: string]: any;
        };
        headerStyle: {
            [key: string]: any;
        };
        footerStyle: {
            [key: string]: any;
        };
    } & {
        style?: CSSProperties;
        width?: string | number;
        height?: string | number;
        footer?: import("../_util/type").VueNode;
        title?: import("../_util/type").VueNode;
        mask?: boolean;
        push?: boolean | PushState;
        size?: "default" | "large";
        class?: any;
        autofocus?: boolean;
        forceRender?: boolean;
        getContainer?: any;
        maskClosable?: boolean;
        placement?: "top" | "bottom" | "left" | "right";
        afterVisibleChange?: (...args: any[]) => any;
        level?: any;
        keyboard?: boolean;
        closable?: boolean;
        closeIcon?: import("../_util/type").VueNode;
        extra?: import("../_util/type").VueNode;
        levelMove?: any;
        destroyOnClose?: boolean;
        wrapStyle?: CSSProperties;
        handle?: import("../_util/type").VueNode;
    }> & {
        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<{
    autofocus?: unknown;
    closable?: unknown;
    closeIcon?: unknown;
    destroyOnClose?: unknown;
    forceRender?: unknown;
    getContainer?: unknown;
    maskClosable?: unknown;
    mask?: unknown;
    maskStyle?: unknown;
    wrapStyle?: unknown;
    style?: unknown;
    class?: unknown;
    wrapClassName?: unknown;
    size?: unknown;
    drawerStyle?: unknown;
    headerStyle?: unknown;
    bodyStyle?: unknown;
    contentWrapperStyle?: unknown;
    title?: unknown;
    visible?: unknown;
    width?: unknown;
    height?: unknown;
    zIndex?: unknown;
    prefixCls?: unknown;
    push?: unknown;
    placement?: unknown;
    keyboard?: unknown;
    extra?: unknown;
    footer?: unknown;
    footerStyle?: unknown;
    level?: unknown;
    levelMove?: unknown;
    handle?: unknown;
    afterVisibleChange?: unknown;
} & {
    prefixCls: string;
    visible: boolean;
    zIndex: number;
    bodyStyle: {
        [key: string]: any;
    };
    maskStyle: {
        [key: string]: any;
    };
    contentWrapperStyle: {
        [key: string]: any;
    };
    wrapClassName: string;
    drawerStyle: {
        [key: string]: any;
    };
    headerStyle: {
        [key: string]: any;
    };
    footerStyle: {
        [key: string]: any;
    };
} & {
    style?: CSSProperties;
    width?: string | number;
    height?: string | number;
    footer?: import("../_util/type").VueNode;
    title?: import("../_util/type").VueNode;
    mask?: boolean;
    push?: boolean | PushState;
    size?: "default" | "large";
    class?: any;
    autofocus?: boolean;
    forceRender?: boolean;
    getContainer?: any;
    maskClosable?: boolean;
    placement?: "top" | "bottom" | "left" | "right";
    afterVisibleChange?: (...args: any[]) => any;
    level?: any;
    keyboard?: boolean;
    closable?: boolean;
    closeIcon?: import("../_util/type").VueNode;
    extra?: import("../_util/type").VueNode;
    levelMove?: any;
    destroyOnClose?: boolean;
    wrapStyle?: CSSProperties;
    handle?: import("../_util/type").VueNode;
}> & {
    onClose?: (...args: any[]) => any;
    "onUpdate:visible"?: (...args: any[]) => any;
    onAfterVisibleChange?: (...args: any[]) => any;
}, () => JSX.Element, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, ("update:visible" | "close" | "afterVisibleChange")[], "afterVisibleChange" | "update:visible" | "close", {
    prefixCls: string;
    zIndex: number;
    afterVisibleChange: (...args: any[]) => any;
    bodyStyle: {
        [key: string]: any;
    };
    maskStyle: {
        [key: string]: any;
    };
    contentWrapperStyle: {
        [key: string]: any;
    };
    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;
