import { PolyScene } from '../PolyScene';
import { IUniforms } from '../../../core/geometry/Material';
import { Scene } from 'three';
export declare class SceneTraverserController {
    protected scene: PolyScene;
    private _spotLightsRayMarching;
    private _directionalLightsRayMarching;
    private _pointLightsRayMarching;
    private _updateUniformsFunctionByLight;
    private _uniformsByLight;
    constructor(scene: PolyScene);
    traverseScene(scene?: Scene): void;
    private _onObjectTraverseBound;
    private _onObjectTraverse;
    private _updateUniformsForLight;
    addLightsRayMarchingUniform(uniforms: IUniforms): void;
    removeLightsRayMarchingUniform(uniforms: IUniforms): void;
}
