import { AfterContentInit, ElementRef, EventEmitter } from '@angular/core'; import { AnimationEvent } from '@angular/animations'; import { Observable } from 'rxjs'; /** Result of opening or closing the drawer */ export declare class DrawerPromiseResult { type: 'open' | 'close'; constructor(type: 'open' | 'close'); } export declare function validateModeInput(inputStr: string): void; export declare function validateAlignInput(inputStr: string): void; /** Drawer that can be opened or closed on the drawer container */ export declare class Drawer implements AfterContentInit { protected elementRef: ElementRef; readonly _openChange: EventEmitter; private _mode; private _align; /** Mode of the drawer: `over`, `push` or `side` */ mode: string; /** Side the drawer is attached to: `left` or `right` */ align: string; /** Event emitted when drawer has started to open */ readonly openStart: Observable; /** Event emitted when drawer has started to close */ readonly closeStart: Observable; /** Event emitted when drawer has opened */ readonly _openStream: Observable; /** Event emitted when drawer has closed */ readonly _closeStream: Observable; /** Tabindex of the element */ tabindex: number; _drawerClass: boolean; readonly _animationStarted: EventEmitter; private _animationDisabled; private _drawerOpened; private _animationPromise; private _resolveAnimationPromise; /** Whether the drawer is opened. */ opened: boolean; readonly _width: number; readonly _isOpened: boolean; readonly _isOpening: boolean; readonly _isClosed: boolean; readonly _isClosing: boolean; readonly _isRight: boolean; readonly _openState: 'void' | 'open-instant' | 'open'; _onAnimationStart(event: AnimationEvent): void; _onAnimationEnd(event: AnimationEvent): void; _onKeyDown(event: KeyboardEvent): void; constructor(elementRef: ElementRef); ngAfterContentInit(): void; /** Toggles the drawer open */ toggleOpen(): Promise; /** Toggles the drawer closed */ toggleClose(): Promise; /** Toggles the drawer */ toggle(isOpen?: boolean): Promise; }