import type { RendererNode, RendererElement, ComputedOptions, MethodOptions, PropType,  ExtractPropTypes,  VNode,  Component } from 'vue';
import type { DrawerDirectionType, DrawerCallbackInterface } from './interface';
export declare const Props: {
    readonly visible: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly appendToBody: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly direction: {
        readonly type: PropType<DrawerDirectionType>;
        readonly default: () => DrawerDirectionType;
        readonly validator: (val: DrawerDirectionType) => boolean;
    };
    readonly size: {
        readonly type: PropType<string | number>;
        readonly default: () => string;
    };
    readonly title: {
        readonly type: StringConstructor;
        readonly default: () => string;
    };
    readonly showMask: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly maskClose: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly maskBlur: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly showCloseIcon: {
        readonly type: BooleanConstructor;
        readonly default: () => boolean;
    };
    readonly closeIcon: {
        readonly type: PropType<VNode<RendererNode, RendererElement, {
            [key: string]: any;
        }> | Component<any, any, any, ComputedOptions, MethodOptions>>;
        readonly default: () => null;
    };
    readonly zIndex: {
        readonly type: NumberConstructor;
        readonly default: () => Number;
        readonly validator: (val: number) => boolean;
    };
    readonly open: {
        readonly type: PropType<DrawerCallbackInterface>;
        readonly default: () => null;
    };
    readonly openEnd: {
        readonly type: PropType<DrawerCallbackInterface>;
        readonly default: () => null;
    };
    readonly close: {
        readonly type: PropType<DrawerCallbackInterface>;
        readonly default: () => null;
    };
    readonly closeEnd: {
        readonly type: PropType<DrawerCallbackInterface>;
        readonly default: () => null;
    };
};
export declare const Emits: {
    readonly 'update:visible': (visible: boolean) => boolean;
};
export declare type DrawerPropsType = ExtractPropTypes<typeof Props>;
