import { PropType, VNodeChild, Ref, InjectionKey, CSSProperties } from 'vue'; import { ElementClassSet } from '../_utils_'; export declare type DrawerCloseAction = 'wrapper' | 'close' | 'shortcut'; export declare type DrawerAppearDirection = 'top' | 'right' | 'bottom' | 'left'; export declare type OnBeforeLeaveImpl = (action: DrawerCloseAction) => Promise | boolean | undefined | void; export declare type DrawerInjection = Ref | null; export interface DrawerExposeInstance { hide: () => void; el: HTMLElement; } export interface DrawerProps { show?: boolean; size?: number | string; appearDirection?: DrawerAppearDirection; wrapperClosable?: boolean; shortcutKey?: string; closeOnShortcut?: boolean; closable?: boolean; headerStyle?: string | Partial; bodyStyle?: string | Partial; maskStyle?: string | Partial; headerClass?: ElementClassSet; bodyClass?: ElementClassSet; title?: string | (() => VNodeChild); showHeader?: boolean; pure?: boolean; onBeforeLeave?: OnBeforeLeaveImpl; } export interface DrawerObjectEmits { 'onUpdate:show'?: (val: boolean) => void; onWrapperClick?: (e: MouseEvent) => void; onShortcutStroke?: (keys: string[]) => void; onAfterEnter?: () => void; onAfterLeave?: () => void; onBeforeEnter?: () => void; } export declare const drawerProps: { show: { type: PropType; default: boolean; }; size: { type: PropType; default: string; }; appearDirection: { type: PropType; default: string; }; wrapperClosable: { type: PropType; default: boolean; }; shortcutKey: { type: PropType; default: string; }; closeOnShortcut: { type: PropType; default: boolean; }; closable: { type: PropType; default: boolean; }; headerStyle: { type: PropType | undefined>; default: undefined; }; bodyStyle: { type: PropType | undefined>; default: undefined; }; headerClass: { type: PropType; default: undefined; }; bodyClass: { type: PropType; default: undefined; }; title: { type: PropType VNodeChild) | undefined>; default: string; }; showHeader: { type: PropType; default: boolean; }; pure: { type: PropType; default: boolean; }; onBeforeLeave: { type: PropType; default: undefined; }; }; export declare const drawerInjectionKey: InjectionKey;