import { ComponentFactoryResolver, ViewContainerRef } from "@angular/core";
import { ComponentListMagicService } from "./component-list.magic.service";
import { EngineMagicService } from "./engine.magic.service";
import { OverlayContainerMagicProvider } from "./overlay.conainer.magic.provider";
import { ConfirmationComponentsMagicProvider } from "./confirmation.components.magic.provider";
import { Styles } from "@magic-xpa/gui";
/**
 * Service managing overlay windows
 */
export declare class OverlayWindowService {
    private componentFactoryResolver;
    protected componentList: ComponentListMagicService;
    protected engineMagicService: EngineMagicService;
    private overlayContainerMagicProvider;
    private confirmationComponentsMagicProvider;
    constructor(componentFactoryResolver: ComponentFactoryResolver, componentList: ComponentListMagicService, engineMagicService: EngineMagicService, overlayContainerMagicProvider: OverlayContainerMagicProvider, confirmationComponentsMagicProvider: ConfirmationComponentsMagicProvider);
    private overlayWindowsContainerViewRef;
    private overlayWindowFocusManager;
    init(overlayWindowsContainerViewRef: ViewContainerRef, rootMagicElement: Element): void;
    open(formName: string, taskId: string, taskDescription: string): void;
    close(commandStr: string): void;
    /**
     * Open Confirmation box
     * @param title title of the box
     * @param msg message
     * @param style Magic style
     */
    openConfirmationBox(title: string, msg: string, style: Styles): void;
    /**
     * This method is called on close of the confirmation
     * @param style Magic style
     * @param result
     */
    finishConfirmation(style: Styles, result: boolean): void;
    /**
     * creates a modal component. Can be used for overlay, message box or confirmation box
     * @param parameters component's parameters
     * @param component components to create
     */
    private createModalComponent;
}
