import { IDisposable } from "../Interfaces/IDisposable";
import { ISceneEditor } from "../Interfaces/ISceneEditor";
export type LightSelectedEventArgs = {
    id: string;
    name: string;
};
export type LightSelectedEventHandler = (evt: LightSelectedEventArgs) => void;
export declare class LightsLayer implements IDisposable {
    private _sceneEditor;
    private _editorScene;
    private _scene;
    private _lightMeshes;
    private _lightSelectedListeners;
    private _sceneEditorPreUpdate;
    private _sceneEditorPostUpdate;
    private static _lightTexture;
    constructor(sceneEditor: ISceneEditor);
    dispose(): void;
    private onPreUpdate;
    private onPostUpdate;
    private onPointerDown;
    refresh(): void;
    private updateLightMeshes;
    private createLightMesh;
    private clearLightMeshes;
    private configureLightMesh;
    render(): void;
    getScene(): BABYLON.Scene;
    private fireLightSelectedEvent;
    addLightSelectedListener(listener: LightSelectedEventHandler): void;
}
