export default GUIEngine;
declare class GUIEngine {
    windows: List<any>;
    /**
     *
     * @type {EntityManager|null}
     */
    entityManager: EntityManager | null;
    /**
     *
     * @type {Engine}
     */
    engine: Engine;
    /**
     *
     * @type {WeakMap<Scene, SceneGUIContext>}
     */
    sceneContexts: WeakMap<Scene, SceneGUIContext>;
    /**
     *
     * @type {TooltipManager}
     */
    tooltips: TooltipManager;
    /**
     *
     * @type {DomTooltipManager}
     */
    viewTooltips: DomTooltipManager;
    /**
     *
     * @type {Ticker}
     */
    ticker: Ticker;
    view: EmptyView;
    /**
     *
     * @type {GMLEngine}
     */
    gml: GMLEngine;
    /**
     *
     * @type {ObservedString}
     */
    cursor: ObservedString;
    /**
     *
     * @type {Localization|null}
     */
    localization: Localization | null;
    /**
     * @param {boolean} closeable
     * @param {View} content
     * @param {string} title
     * @param {View} [wrapper]
     * @returns {Entity}
     */
    openWindow({ closeable, content, title, wrapper }: boolean): Entity;
    /**
     *
     * @param {View} content
     * @param {string} title
     * @param {number} priority
     * @returns {SimpleLifecycle}
     */
    createModal({ content, title, priority }: View): SimpleLifecycle;
    /**
     *
     * @param {string} title
     * @param {View} content
     * @param {ObservedBoolean|ReactiveExpression} [confirmationEnabled]
     * @returns {Promise<any>}
     */
    createModalConfirmation({ title, content, confirmationEnabled }: string): Promise<any>;
    /**
     * @param {string} text
     * @param {string} title
     * @returns {Promise} will be resolved or rejected based on user choice
     */
    confirmTextDialog({ text, title }: string): Promise<any>;
    /**
     *
     * @param {string} text
     * @param {string} title
     * @returns {Promise}
     */
    createTextAlert({ text, title }: string): Promise<any>;
    /**
     *
     * @param {View} content
     * @param {string} title
     * @param {View[]} [marks]
     * @param {number} priority
     * @param {function(SimpleLifecycle)} [lifecycleHook]
     * @returns {Promise}
     */
    createAlert({ content, title, marks, priority, lifecycleHook }: View): Promise<any>;
    /**
     *
     * @param {Scene} scene
     * @return {SceneGUIContext}
     */
    obtainSceneContext(scene: Scene): SceneGUIContext;
    /**
     * @returns {SceneGUIContext|null}
     */
    getActiveSceneContext(): SceneGUIContext | null;
    /**
     * Invoked when locale is updated
     * @private
     */
    private __update_localization;
    /**
     *
     * @param {Engine} engine
     */
    startup(engine: Engine): Promise<[any]>;
    shutdown(): Promise<[any]>;
}
import List from '../../core/collection/list/List.js';
import { SceneGUIContext } from "./scene/SceneGUIContext.js";
import { TooltipManager } from "../../view/tooltip/TooltipManager.js";
import { DomTooltipManager } from "../../view/tooltip/DomTooltipManager.js";
import Ticker from "../simulation/Ticker.js";
import EmptyView from "../../view/elements/EmptyView.js";
import { GMLEngine } from "../../view/tooltip/gml/GMLEngine.js";
import ObservedString from "../../core/model/ObservedString.js";
import Entity from '../ecs/Entity.js';
import View from '../../view/View.js';
import { SimpleLifecycle } from "../../core/process/SimpleLifecycle.js";
//# sourceMappingURL=GUIEngine.d.ts.map