import type { KeyboardEventHandler, MouseEventHandler, getContainerFunc } from '@antdv/ui/es/types';
import type { CSSProperties, ExtractPropTypes, PropType, TransitionProps } from 'vue';
import type { ILevelMove, IPlacement } from './interface';
export declare const PlacementTypes: readonly ["top", "right", "bottom", "left"];
export declare function drawerWrapperProps(): {
    forceRender: {
        type: BooleanConstructor;
        default: any;
    };
    getContainer: any;
    prefixCls: StringConstructor;
    width: any;
    height: any;
    style: {
        type: PropType<CSSProperties>;
        default: () => {};
    };
    class: StringConstructor;
    rootClassName: StringConstructor;
    rootStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    placement: {
        type: PropType<IPlacement>;
    };
    wrapperClassName: StringConstructor;
    level: {
        type: PropType<string | string[]>;
    };
    levelMove: {
        type: PropType<ILevelMove | ((e: {
            target: HTMLElement;
            open: boolean;
        }) => ILevelMove)>;
    };
    duration: StringConstructor;
    ease: StringConstructor;
    showMask: {
        type: BooleanConstructor;
        default: any;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: any;
    };
    maskStyle: {
        type: PropType<CSSProperties>;
        default: () => {};
    };
    afterVisibleChange: FunctionConstructor;
    keyboard: {
        type: BooleanConstructor;
        default: any;
    };
    contentWrapperStyle: {
        type: PropType<CSSProperties[]>;
        default: CSSProperties[];
    };
    autofocus: {
        type: BooleanConstructor;
        default: any;
    };
    open: {
        type: BooleanConstructor;
        default: any;
    };
    motion: {
        type: PropType<(placement: IPlacement) => TransitionProps>;
        default: (placement: IPlacement) => TransitionProps;
    };
    maskMotion: {
        type: PropType<TransitionProps>;
        default: TransitionProps;
    };
};
export declare function drawerChildProps(): {
    getContainer: FunctionConstructor;
    getOpenCount: PropType<() => number>;
    scrollLocker: any;
    inline: BooleanConstructor;
    prefixCls: StringConstructor;
    width: any;
    height: any;
    style: {
        type: PropType<CSSProperties>;
        default: () => {};
    };
    class: StringConstructor;
    rootClassName: StringConstructor;
    rootStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    placement: {
        type: PropType<IPlacement>;
    };
    wrapperClassName: StringConstructor;
    level: {
        type: PropType<string | string[]>;
    };
    levelMove: {
        type: PropType<ILevelMove | ((e: {
            target: HTMLElement;
            open: boolean;
        }) => ILevelMove)>;
    };
    duration: StringConstructor;
    ease: StringConstructor;
    showMask: {
        type: BooleanConstructor;
        default: any;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: any;
    };
    maskStyle: {
        type: PropType<CSSProperties>;
        default: () => {};
    };
    afterVisibleChange: FunctionConstructor;
    keyboard: {
        type: BooleanConstructor;
        default: any;
    };
    contentWrapperStyle: {
        type: PropType<CSSProperties[]>;
        default: CSSProperties[];
    };
    autofocus: {
        type: BooleanConstructor;
        default: any;
    };
    open: {
        type: BooleanConstructor;
        default: any;
    };
    motion: {
        type: PropType<(placement: IPlacement) => TransitionProps>;
        default: (placement: IPlacement) => TransitionProps;
    };
    maskMotion: {
        type: PropType<TransitionProps>;
        default: TransitionProps;
    };
};
export declare function drawerProps(): {
    autofocus: {
        type: BooleanConstructor;
        default: any;
    };
    closable: {
        type: BooleanConstructor;
        default: any;
    };
    closeIcon: any;
    destroyOnClose: {
        type: BooleanConstructor;
        default: any;
    };
    forceRender: {
        type: BooleanConstructor;
        default: any;
    };
    getContainer: {
        type: PropType<string | false | HTMLElement | getContainerFunc>;
        default: string | false | HTMLElement | getContainerFunc;
    };
    maskClosable: {
        type: BooleanConstructor;
        default: any;
    };
    mask: {
        type: BooleanConstructor;
        default: any;
    };
    maskStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    rootClassName: StringConstructor;
    rootStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    size: {
        type: PropType<"default" | "large">;
    };
    drawerStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    headerStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    bodyStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    contentWrapperStyle: {
        type: PropType<CSSProperties>;
        default: () => {};
    };
    title: any;
    /** @deprecated Please use `open` instead */
    visible: {
        type: BooleanConstructor;
        default: any;
    };
    open: {
        type: BooleanConstructor;
        default: any;
    };
    width: any;
    height: any;
    zIndex: NumberConstructor;
    prefixCls: StringConstructor;
    push: any;
    placement: any;
    keyboard: {
        type: BooleanConstructor;
        default: any;
    };
    extra: any;
    footer: any;
    footerStyle: {
        type: PropType<CSSProperties>;
        default: CSSProperties;
    };
    level: any;
    lockScroll: {
        type: BooleanConstructor;
        default: boolean;
    };
    levelMove: {
        type: PropType<ILevelMove | ((e: {
            target: HTMLElement;
            open: boolean;
        }) => ILevelMove)>;
    };
    handle: any;
    /** @deprecated Use `@afterVisibleChange` instead */
    afterVisibleChange: PropType<(visible: boolean) => void>;
    /** @deprecated Please use `@afterOpenChange` instead */
    onAfterVisibleChange: PropType<(visible: boolean) => void>;
    onAfterOpenChange: PropType<(open: boolean) => void>;
    /** @deprecated Please use `onUpdate:open` instead */
    'onUpdate:visible': PropType<(visible: boolean) => void>;
    'onUpdate:open': PropType<(open: boolean) => void>;
    onClose: PropType<MouseEventHandler | KeyboardEventHandler>;
};
export type DrawerProps = Partial<ExtractPropTypes<ReturnType<typeof drawerProps>>>;
