import { TemplateRef, ApplicationRef, ComponentFactoryResolver, Injector, Type } from '@angular/core';
import { LyOverlayContainer } from './overlay-container';
import { OverlayFactory } from './overlay-factory';
import { LyOverlayConfig } from './overlay-config';
import { ScrollDispatcher, ViewportRuler } from '@angular/cdk/scrolling';
import * as i0 from "@angular/core";
export declare class LyOverlay {
    private _overlayContainer;
    private _componentFactoryResolver;
    private _appRef;
    private _injector;
    private _scrollDispatcher;
    private _viewportRuler;
    constructor(_overlayContainer: LyOverlayContainer, _componentFactoryResolver: ComponentFactoryResolver, _appRef: ApplicationRef, _injector: Injector, _scrollDispatcher: ScrollDispatcher, _viewportRuler: ViewportRuler);
    create<T>(templateOrComponent: Type<T> | TemplateRef<any> | string, context?: any, config?: LyOverlayConfig): OverlayFactory<T>;
    static ɵfac: i0.ɵɵFactoryDeclaration<LyOverlay, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<LyOverlay>;
}
