import * as i0 from '@angular/core';
import { OnInit, AfterViewInit, OnDestroy, ElementRef } from '@angular/core';
import { NgDocFocusCatcherDirective } from '@ng-doc/ui-kit/directives/focus-catcher';
import { NgDocOverlayContainer, NgDocOverlayConfig } from '@ng-doc/ui-kit/interfaces';
import { NgDocContent, NgDocOverlayRelativePosition, NgDocOverlayAnimationEvent, NgDocHorizontalAlign, NgDocVerticalAlign } from '@ng-doc/ui-kit/types';
import { PolymorpheusOutletDirective } from '@tinkoff/ng-polymorpheus';
import { Observable } from 'rxjs';

declare class NgDocOverlayContainerComponent implements NgDocOverlayContainer, OnInit, AfterViewInit, OnDestroy {
    private elementRef;
    private documentRef;
    private changeDetectorRef;
    private ngZone;
    content: NgDocContent;
    config?: NgDocOverlayConfig;
    contentContainer?: ElementRef<HTMLElement>;
    focusCatcher?: NgDocFocusCatcherDirective;
    outlet?: PolymorpheusOutletDirective<object>;
    relativePosition: NgDocOverlayRelativePosition | null;
    private currentPosition?;
    private animationEvent$;
    private isOpened;
    constructor();
    ngOnInit(): void;
    ngAfterViewInit(): void;
    get contactBorder(): boolean;
    get isFocused(): boolean;
    get animationEvent(): Observable<NgDocOverlayAnimationEvent>;
    get overlayAlign(): NgDocHorizontalAlign | NgDocVerticalAlign | null;
    close(): void;
    focus(): void;
    markForCheck(): void;
    private runAnimation;
    ngOnDestroy(): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<NgDocOverlayContainerComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NgDocOverlayContainerComponent, "ng-doc-overlay-container", never, { "content": { "alias": "content"; "required": false; }; "config": { "alias": "config"; "required": false; }; }, {}, never, never, true, never>;
}

export { NgDocOverlayContainerComponent };
