| import { ElementUIComponent } from './component' | 
| import { VNode } from 'vue' | 
|   | 
| type hide = (shouldCancel: boolean) => void | 
| declare enum Direction { | 
|     LTR = 'ltr', // left to right | 
|     RTL = 'rtl', // right to left | 
|     TTB = 'ttb', // top to bottom | 
|     BTT = 'btt' // bottom to top | 
| } | 
|   | 
| interface DrawerSlots { | 
|     /* Main Content Slots */ | 
|     default: VNode[]; | 
|   | 
|     /* Title Slots */ | 
|     title: VNode[]; | 
|   | 
|     [key: string]: VNode[] | 
| } | 
| /** Drawer Component */ | 
| export declare class ElDrawer extends ElementUIComponent { | 
|     /* Equivalent to `Dialog`'s append to body attribute, when applying nested drawer, make sure this one is set to true */ | 
|     appendToBody: boolean | 
|   | 
|     /* Hook method called before close drawer, the first parameter is a function which should determine if the drawer should be closed */ | 
|     beforeClose: (done: hide) => void | 
|   | 
|     /** Whether the Drawer can be closed by pressing ESC */ | 
|     closeOnPressEscape: boolean | 
|   | 
|     /** Custom class names for Dialog */ | 
|     customClass: string | 
|   | 
|     /* Determine whether the wrapped children should be destroyed, if true, children's destroyed life cycle method will be called all local state will be destroyed */ | 
|     destroyOnClose: boolean | 
|   | 
|     /* Equivalent to `Dialog`'s modal attribute, determines whether the dark shadowing background should show */ | 
|     modal: boolean | 
|   | 
|     /* Equivalent to `Dialog`'s modal-append-to-body attribute, determines whether the shadowing background should be inserted direct to DocumentBody element */ | 
|     modalAppendToBody: boolean | 
|   | 
|     /* Attributes that controls the drawer's direction of display*/ | 
|     position: Direction | 
|   | 
|     /* Whether the close button should be rendered to control the drawer's visible state */ | 
|     showClose: boolean | 
|   | 
|     /* The size of the drawer component, supporting number with unit of pixel, string by percentage e.g. 30% */ | 
|     size: number | string | 
|   | 
|     /* The Drawer's title, also can be replaced by named slot `title` */ | 
|     title: string | 
|   | 
|     /* Whether the drawer component should show, also can be decorated by `.sync` */ | 
|     visible: boolean | 
|   | 
|     /* Flag attribute whi */ | 
|     wrapperClosable: boolean | 
|   | 
|     $slots: DrawerSlots | 
| } |