import { AnimationEvent } from '@angular/animations';
import { AfterViewInit, ChangeDetectorRef, ElementRef, EventEmitter, InjectionToken, OnDestroy, Renderer2 } from '@angular/core';
export declare type NtDrawerPlacement = 'left' | 'right' | 'top' | 'bottom';
export interface NtDrawerContainer {
    readonly element: HTMLElement;
}
export declare const NT_DRAWER_CONTAINER: InjectionToken<NtDrawerContainer>;
export declare class NtDrawerComponent implements AfterViewInit, OnDestroy {
    private _changeDetectorRef;
    private _element;
    private _renderer;
    private _platformId;
    readonly id: string;
    private _destory;
    private _outsideClickSubscription;
    private _container;
    private _backdropElement;
    private _backdrop;
    backdrop: boolean;
    private _placement;
    placement: NtDrawerPlacement;
    state: 'closed' | NtDrawerPlacement;
    afterOpen: EventEmitter<any>;
    afterClosed: EventEmitter<any>;
    beforeOpen: EventEmitter<any>;
    beforeClosed: EventEmitter<any>;
    constructor(_changeDetectorRef: ChangeDetectorRef, _element: ElementRef, _renderer: Renderer2, _platformId: Object, container: NtDrawerContainer);
    ngAfterViewInit(): void;
    ngOnDestroy(): void;
    open(): void;
    close(): void;
    onAnimationDone(event: AnimationEvent): void;
    onAnimationStart(event: AnimationEvent): void;
    private _changePlacementValueAndStyle;
    private _initContainerAndStyles;
    private _createBackdropOverlay;
    private _removeBackdropOverlay;
    private _attachBackdropOverlay;
    private _disattachBackdropOverlay;
    private _subscribeOutsideClickEvent;
    private _unsubscribeOutsideClickEvent;
}
