import { Overlay } from '@angular/cdk/overlay';
import { ComponentType } from '@angular/cdk/portal';
import { Location } from '@angular/common';
import { InjectionToken, Injector, TemplateRef } from '@angular/core';
import { NtModalConfig } from './modal-config';
import { NtModalRef } from './modal-ref';
export declare const NT_MODAL_DATA: InjectionToken<any>;
export declare const NT_MODAL_DEFAULT_CONFIG: InjectionToken<NtModalConfig>;
export declare type NtModalContent<T> = TemplateRef<T> | ComponentType<T>;
export declare class NtModal {
    private _location;
    private _defaultConfig;
    private _overlay;
    private _injector;
    private _openModalsAtThisLevel;
    private _afterAllClosedAtThisLevel;
    private _afterOpenAtThisLevel;
    constructor(_location: Location, _defaultConfig: NtModalConfig, _overlay: Overlay, _injector: Injector);
    open<T = any>(content: NtModalContent<T>, config?: NtModalConfig): NtModalRef<T, any>;
    private _createOverlay;
    private _attachModalContainer;
    private _attachModalContent;
    private _removeOpenModal;
    private _createInjector;
    private _getOverlayConfig;
}
