import { OverlaySettings, OverlayEventArgs } from './utilities';
import { ApplicationRef, ComponentFactoryResolver, ElementRef, EventEmitter, Injector, Type } from '@angular/core';
import { AnimationBuilder } from '@angular/animations';
export declare class IgxOverlayService {
    private _factoryResolver;
    private _appRef;
    private _injector;
    private builder;
    private document;
    private _componentId;
    private _overlayInfos;
    private _overlayElement;
    private _document;
    private _defaultSettings;
    onOpening: EventEmitter<OverlayEventArgs>;
    onOpened: EventEmitter<OverlayEventArgs>;
    onClosing: EventEmitter<OverlayEventArgs>;
    onClosed: EventEmitter<OverlayEventArgs>;
    constructor(_factoryResolver: ComponentFactoryResolver, _appRef: ApplicationRef, _injector: Injector, builder: AnimationBuilder, document: any);
    show(component: ElementRef | Type<{}>, settings?: OverlaySettings): string;
    hide(id: string): void;
    hideAll(): void;
    reposition(id: string): void;
    private getOverlayInfo(component);
    private placeElementHook(element);
    private moveElementToOverlay(info);
    private getWrapperElement();
    private getContentElement(wrapperElement, settings);
    private getOverlayElement();
    private updateSize(info);
    private setupModalWrapper(info);
    private onCloseDone(info);
    private playOpenAnimation(info);
    private playCloseAnimation(info);
    private applyAnimationParams(wrapperElement, animationOptions);
    private getOverlayById(id);
    private documentClicked;
    private addOutsideClickListener(info);
    private removeOutsideClickListener(info);
    private addResizeHandler(id);
    private removeResizeHandler(id);
    private repositionAll;
}
