import * as THREE from 'three';
import { ProbeTexel } from './lightProbe';
export interface AtlasMapItem {
    faceCount: number;
    originalMesh: THREE.Mesh;
    originalBuffer: THREE.BufferGeometry;
}
export interface AtlasMap {
    width: number;
    height: number;
    items: AtlasMapItem[];
    data: Float32Array;
    texture: THREE.Texture;
}
export declare function scanAtlasTexels(atlasMap: AtlasMap, onFinished: () => void): Generator<ProbeTexel | null, void, unknown>;
export declare function renderAtlas(gl: THREE.WebGLRenderer, width: number, height: number, sceneItems: Generator<THREE.Object3D, void, unknown>): {
    width: number;
    height: number;
    texture: THREE.DataTexture;
    data: Float32Array;
    items: {
        faceCount: number;
        originalMesh: THREE.Mesh<THREE.BufferGeometry, THREE.Material | THREE.Material[]>;
        originalBuffer: THREE.BufferGeometry;
    }[];
};
