import { EventDispatcher } from "@robotlegsjs/core";
import { ISceneHandler } from "../api/ISceneHandler";
import { ISceneManager } from "../api/ISceneManager";
import { IViewHandler } from "../api/IViewHandler";
import { SceneRegistry } from "./SceneRegistry";
/**
 * @private
 */
export declare class SceneManager extends EventDispatcher implements ISceneManager {
    private _sceneManagers;
    /**
     * @inheritDoc
     */
    get sceneManagers(): Phaser.Scenes.SceneManager[];
    private _sceneHandlers;
    private _viewHandlers;
    private _registry;
    /**
     * @private
     */
    constructor(sceneRegistry: SceneRegistry);
    /**
     * @inheritDoc
     */
    addSceneManager(sceneManager: Phaser.Scenes.SceneManager): void;
    /**
     * @inheritDoc
     */
    removeSceneManager(sceneManager: Phaser.Scenes.SceneManager): void;
    /**
     * @inheritDoc
     */
    addSceneHandler(handler: ISceneHandler): void;
    /**
     * @inheritDoc
     */
    removeSceneHandler(handler: ISceneHandler): void;
    /**
     * @inheritDoc
     */
    addViewHandler(handler: IViewHandler): void;
    /**
     * @inheritDoc
     */
    removeViewHandler(handler: IViewHandler): void;
    /**
     * @inheritDoc
     */
    removeAllHandlers(): void;
    private _validSceneManager;
}
