import { Event } from "@robotlegsjs/core";
import { ISceneHandler } from "../api/ISceneHandler";
import { IViewHandler } from "../api/IViewHandler";
/**
 * SceneManager existence event
 *
 * @private
 */
export declare class SceneManagerEvent extends Event {
    static SCENE_MANAGER_ADD: string;
    static SCENE_MANAGER_REMOVE: string;
    static SCENE_HANDLER_ADD: string;
    static SCENE_HANDLER_REMOVE: string;
    static VIEW_HANDLER_ADD: string;
    static VIEW_HANDLER_REMOVE: string;
    private _sceneManager;
    /**
     * The sceneManager associated with this event
     */
    get sceneManager(): Phaser.Scenes.SceneManager;
    private _sceneHandler;
    /**
     * The scene handler associated with this event
     */
    get sceneHandler(): ISceneHandler;
    private _viewHandler;
    /**
     * The view handler associated with this event
     */
    get viewHandler(): IViewHandler;
    /**
     * Creates a scene manager event
     *
     * @param type The event type
     * @param sceneManager The  Phaser.Scenes.SceneManager associated with this event
     * @param sceneHandler The scene handler associated with this event
     * @param viewHandler The view handler associated with this event
     */
    constructor(type: string, sceneManager?: Phaser.Scenes.SceneManager, sceneHandler?: ISceneHandler, viewHandler?: IViewHandler);
    /**
     * @inheritDoc
     */
    clone(): SceneManagerEvent;
}
