import { Observable, Subscription } from "rxjs";
import { TemplateRef, ViewContainerRef } from "@angular/core";
import { Overlay, OverlayContainer, OverlayRef, OverlayPositionBuilder } from '@angular/cdk/overlay';
export declare class OverlayService {
    private overlay;
    private overlayPositionBuilder;
    private overlayContainer;
    overlayRef: OverlayRef;
    sub: Subscription;
    private afterClosed;
    onClosed: Observable<any>;
    constructor(overlay: Overlay, overlayPositionBuilder: OverlayPositionBuilder, overlayContainer: OverlayContainer);
    open(type: PopupType, origin: HTMLElement, tpl: TemplateRef<any>, viewContainerRef: ViewContainerRef, data: any): Observable<any>;
    openDropdown(origin: HTMLElement, tpl: TemplateRef<any>, viewContainerRef: ViewContainerRef, data: any): Observable<any>;
    close: (data: any) => void;
    isAttached(): boolean;
    private getOverlayPosition;
    private getOverlayConfig;
    private getDropdownPositions;
}
export declare enum PopupType {
    DROPDOWN = 0,
    MENU = 1
}
