import { AnimationEvent } from '@angular/animations';
import { ChangeDetectorRef, ElementRef, OnDestroy, OnInit, Renderer2, TemplateRef, ViewContainerRef } from '@angular/core';
import { ResizeDirective } from 'ng-devui/splitter';
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, never>;
}
export declare class DrawerComponent implements OnInit, OnDestroy {
    private elementRef;
    private renderer;
    private doc;
    private cdr;
    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;
    resizable: boolean;
    drawerContainer: ElementRef;
    resizeCmp: ResizeDirective;
    _width: string;
    oldWidth: string;
    _isCover: boolean;
    subscription: Subscription;
    isFullScreen: boolean;
    animationDone: Subject<AnimationEvent>;
    animationDoneSub: Subscription;
    resizeSub: Subscription;
    windowResizeSub: Subscription;
    documentOverFlow: boolean;
    scrollTop: number;
    scrollLeft: number;
    document: Document;
    contentTemplate: TemplateRef<any>;
    _right: string;
    _curWidth: any;
    constructor(elementRef: ElementRef, renderer: Renderer2, doc: any, cdr: ChangeDetectorRef);
    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;
    private stopPropagation;
    private moveStream;
    handleResizeWidth(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<DrawerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<DrawerComponent, "d-drawer", never, { "id": { "alias": "id"; "required": false; }; "width": { "alias": "width"; "required": false; }; "zIndex": { "alias": "zIndex"; "required": false; }; "isCover": { "alias": "isCover"; "required": false; }; "fullScreen": { "alias": "fullScreen"; "required": false; }; "showAnimation": { "alias": "showAnimation"; "required": false; }; "backdropCloseable": { "alias": "backdropCloseable"; "required": false; }; "escKeyCloseable": { "alias": "escKeyCloseable"; "required": false; }; "beforeHidden": { "alias": "beforeHidden"; "required": false; }; "clickDoms": { "alias": "clickDoms"; "required": false; }; "afterOpened": { "alias": "afterOpened"; "required": false; }; "position": { "alias": "position"; "required": false; }; "bodyScrollable": { "alias": "bodyScrollable"; "required": false; }; "resizable": { "alias": "resizable"; "required": false; }; }, {}, never, never, false, never>;
}
