import { Texture } from "three";
import { Context } from "./engine_setup.js";
import type { SourceIdentifier } from "./engine_types.js";
import { LightmapType } from "./extensions/NEEDLE_lightmaps.js";
export interface ILightDataRegistry {
    clear(): any;
    registerTexture(sourceId: SourceIdentifier, type: LightmapType, texture: Texture, index?: number): any;
    tryGet(sourceId: SourceIdentifier | undefined, type: LightmapType, index: number): Texture | null;
    tryGetLightmap(sourceId: SourceIdentifier | null | undefined, index: number): Texture | null;
    tryGetSkybox(sourceId?: SourceIdentifier | null): Texture | null;
    tryGetReflection(sourceId?: SourceIdentifier | null): Texture | null;
}
export declare class LightDataRegistry implements ILightDataRegistry {
    private _context;
    private _lightmaps;
    clear(): void;
    constructor(context: Context);
    registerTexture(sourceId: SourceIdentifier, type: LightmapType, tex: Texture, index: number): void;
    tryGetLightmap(sourceId: SourceIdentifier | null | undefined, index?: number): Texture | null;
    tryGetSkybox(sourceId?: SourceIdentifier | null): Texture | null;
    tryGetReflection(sourceId?: SourceIdentifier | null): Texture | null;
    tryGet(sourceId: SourceIdentifier | undefined | null, type: LightmapType, index: number): Texture | null;
}
