import { Overlay } from '@angular/cdk/overlay';
import { ComponentType } from '@angular/cdk/portal';
import { Injector } from '@angular/core';
import { ExtractInput, NcModalOptions, NcModalRef } from './modal-ref';
import { NcModalComponent } from './modal.component';
import { Router } from '@angular/router';
import * as i0 from "@angular/core";
export declare const DEFAULT_MODAL_OPTIONS: NcModalOptions;
export declare class NcModalService {
    private overlay;
    private injector;
    private router;
    private defaultOptions;
    private parentModalService;
    /** @ignore */
    private openModalsAtThisLevel;
    get activeModals(): NcModalRef<any>[];
    constructor(overlay: Overlay, injector: Injector, router: Router, defaultOptions: NcModalOptions, parentModalService: NcModalService);
    open<C extends NcModalComponent<any, any>>(component: ComponentType<C>, data?: ExtractInput<C>, options?: NcModalOptions): NcModalRef<C, import("./modal-ref").ExtractOutput<C>>;
    closeAll(): void;
    /** @ignore */
    private attachContainer;
    /** @ignore */
    private attachContent;
    /** @ignore */
    private createOverlay;
    /** @ignore */
    private createInjector;
    /** @ignore */
    private applyDefaultOptions;
    static ɵfac: i0.ɵɵFactoryDeclaration<NcModalService, [null, null, { optional: true; }, { optional: true; }, { optional: true; skipSelf: true; }]>;
    static ɵprov: i0.ɵɵInjectableDeclaration<NcModalService>;
}
