import * as React from 'react'; declare type EventType = React.MouseEvent | React.MouseEvent; declare type getContainerFunc = () => HTMLElement; export declare type IPlacementTypes = 'top' | 'right' | 'bottom' | 'left'; export interface DrawerProps { closable?: boolean; destroyOnClose?: boolean; getContainer?: string | HTMLElement | getContainerFunc; maskClosable?: boolean; mask?: boolean; maskStyle?: React.CSSProperties; style?: React.CSSProperties; bodyStyle?: React.CSSProperties; title?: React.ReactNode; visible?: boolean; width?: number | string; height?: number | string; wrapClassName?: string; zIndex?: number; prefixCls?: string; push?: boolean; placement?: IPlacementTypes; onClose?: (e: EventType) => void; afterVisibleChange?: (visible: boolean) => void; className?: string; handler?: React.ReactNode; } export interface IDrawerState { push?: boolean; } export declare class Drawer extends React.Component { static defaultProps: { prefixCls: string; width: number; height: number; closable: boolean; placement: import("rc-drawer").IPlacement; maskClosable: boolean; mask: boolean; level: any; }; readonly state: { push: boolean; }; parentDrawer: Drawer; destroyClose: boolean; componentDidUpdate(preProps: DrawerProps): void; private close; private onMaskClick; private push; private pull; private onDestroyTransitionEnd; private getDestroyOnClose; private getPushTransform; private getRcDrawerStyle; private renderHeader; private renderCloseIcon; private renderBody; private renderProvider; render(): JSX.Element; } export {};