import { ComponentType, Overlay, OverlayRef } from '@angular/cdk/overlay';
import { CdkPortalOutlet, TemplatePortal } from '@angular/cdk/portal';
import { AfterViewInit, ChangeDetectorRef, EventEmitter, InjectionToken, Injector, OnChanges, OnDestroy, OnInit, SimpleChanges, TemplateRef, ViewContainerRef } from '@angular/core';
import { Subject } from 'rxjs';
export declare const DATA: InjectionToken<unknown>;
export declare class DrawerComponent implements OnInit, AfterViewInit, OnChanges, OnDestroy {
    private readonly viewContainerRef;
    private readonly overlay;
    private readonly injector;
    private readonly cdr;
    title: string | TemplateRef<unknown>;
    offsetY: number;
    set visible(value: boolean);
    get visible(): boolean;
    divider: boolean;
    content: TemplateRef<unknown> | ComponentType<unknown>;
    hideOnClickOutside: boolean;
    showClose: boolean;
    drawerClass: string;
    private _value;
    set width(value: string | number);
    get width(): string | number;
    get drawerClasses(): Record<string, boolean>;
    close: EventEmitter<MouseEvent>;
    drawerViewInit: EventEmitter<void>;
    drawerTemplate: TemplateRef<void>;
    bodyPortalOutlet: CdkPortalOutlet;
    titleTemplate: TemplateRef<unknown>;
    contentTemplate: TemplateRef<unknown> | ComponentType<unknown>;
    noDataTemplate: TemplateRef<unknown>;
    onDestroy$: Subject<void>;
    isOpen: boolean;
    contentParams: any;
    overlayRef: OverlayRef;
    portal: TemplatePortal;
    templateContext: unknown;
    get transform(): string;
    constructor(viewContainerRef: ViewContainerRef, overlay: Overlay, injector: Injector, cdr: ChangeDetectorRef);
    ngOnInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    ngAfterViewInit(): void;
    private attachOverlay;
    private getOverlayConfig;
    isTemplateRef(value: TemplateRef<unknown> | string): value is TemplateRef<unknown>;
    private attachBodyContent;
    private updateBodyOverflow;
    show(): void;
    closeClick(e: MouseEvent): void;
    hide(): void;
    private disposeOverlay;
    ngOnDestroy(): void;
}
