import { AnimationEvent } from '@angular/animations';
import { ElementRef, OnInit, ViewContainerRef, OnDestroy } from '@angular/core';
import { Observable, Subscription, Subject } from 'rxjs';
export declare class DrawerContentDirective {
    viewContainerRef: ViewContainerRef;
    constructor(viewContainerRef: ViewContainerRef);
}
export declare class DrawerComponent implements OnInit, OnDestroy {
    private elementRef;
    animateState: string;
    id: string;
    width: string;
    isCover: boolean;
    fullScreen: boolean;
    drawerContentHost: DrawerContentDirective;
    backdropCloseable: boolean;
    escKeyCloseable: boolean;
    beforeHidden: () => boolean | Promise<boolean> | Observable<boolean>;
    clickDoms: any;
    afterOpened: Function;
    position: 'right' | 'left';
    bodyScrollable: boolean;
    _width: string;
    oldWidth: string;
    _isCover: boolean;
    subscription: Subscription;
    animationDone: Subject<AnimationEvent>;
    animationDoneSub: Subscription;
    resizeSub: Subscription;
    constructor(elementRef: ElementRef);
    ngOnInit(): void;
    setWidth(width: string): void;
    ngOnDestroy(): void;
    keydownHandler(event: KeyboardEvent): void;
    onAnimationEnd(event: any): void;
    onHidden(): void;
    show(): void;
    hide(): void;
    destroy(): void;
    isHaveDialogOrUpload(): any;
    canHideModel(): Promise<boolean>;
    private _setFullScreen;
    toggleFullScreen(): void;
    setFullScreen(fullScreen: boolean): void;
}
