import { Injector, TemplateRef, InjectionToken } from '@angular/core';
import { Overlay } from '@angular/cdk/overlay';
import { ComponentType } from '@angular/cdk/portal';
import { AngularModalPopup } from './modal-popup.component';
import { Options } from './modal-options';
import * as i0 from "@angular/core";
export declare const DATA_MODAL_DIALOG_DATA: InjectionToken<any>;
export declare class ModalService {
    private overlay;
    private injector;
    private overlayRefMap;
    private componentRef;
    private modalOpenSubject;
    modalOpen$: import("rxjs").Observable<boolean>;
    RAMDOM_ID: any;
    constructor(overlay: Overlay, injector: Injector);
    open<T>(component: ComponentType<T> | TemplateRef<any>, options: Options): AngularModalPopup;
    close(modalId: string): void;
    private generateUniqueModalId;
    private randomAlphaNumeric;
    static ɵfac: i0.ɵɵFactoryDeclaration<ModalService, never>;
    static ɵprov: i0.ɵɵInjectableDeclaration<ModalService>;
}
