import { AnimationEvent } from '@angular/animations';
import { ElementRef, OnDestroy, OnInit, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
import { Observable, Subject, Subscription } from 'rxjs';
import * as i0 from "@angular/core";
export declare class DrawerContentDirective {
    viewContainerRef: ViewContainerRef;
    constructor(viewContainerRef: ViewContainerRef);
    static ɵfac: i0.ɵɵFactoryDeclaration<DrawerContentDirective, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<DrawerContentDirective, "[dDrawerContentHost]", never, {}, {}, never, never, false>;
}
export declare class DrawerComponent implements OnInit, OnDestroy {
    private elementRef;
    private renderer;
    private doc;
    animateState: string;
    id: string;
    width: string;
    zIndex: number;
    isCover: boolean;
    /**
     * @deprecated
     */
    fullScreen: boolean;
    showAnimation: boolean;
    drawerContentHost: DrawerContentDirective;
    backdropCloseable: boolean;
    escKeyCloseable: boolean;
    beforeHidden: () => boolean | Promise<boolean> | Observable<boolean>;
    clickDoms: any;
    afterOpened: Function;
    position: 'right' | 'left';
    bodyScrollable: boolean;
    drawerContainer: ElementRef;
    _width: string;
    oldWidth: string;
    _isCover: boolean;
    subscription: Subscription;
    animationDone: Subject<AnimationEvent>;
    animationDoneSub: Subscription;
    resizeSub: Subscription;
    documentOverFlow: boolean;
    scrollTop: number;
    scrollLeft: number;
    document: Document;
    contentTemplate: TemplateRef<any>;
    constructor(elementRef: ElementRef, renderer: Renderer2, doc: any);
    ngOnInit(): void;
    setWidth(width: string): void;
    ngOnDestroy(): void;
    keydownHandler(event: KeyboardEvent): void;
    onAnimationEnd(event: any): void;
    onHidden(): void;
    show(): void;
    hide(): void;
    hideDirectly(): void;
    private hideOperation;
    destroy(): void;
    isHaveDialogOrUpload(): any;
    canHideModel(): Promise<boolean>;
    private _setFullScreen;
    toggleFullScreen(): void;
    setFullScreen(fullScreen: boolean): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DrawerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DrawerComponent, "d-drawer", never, { "id": "id"; "width": "width"; "zIndex": "zIndex"; "isCover": "isCover"; "fullScreen": "fullScreen"; "showAnimation": "showAnimation"; "backdropCloseable": "backdropCloseable"; "escKeyCloseable": "escKeyCloseable"; "beforeHidden": "beforeHidden"; "clickDoms": "clickDoms"; "afterOpened": "afterOpened"; "position": "position"; "bodyScrollable": "bodyScrollable"; }, {}, never, never, false>;
}
