import { GeometryFactory } from '../../../procoregl/GeometryFactory';
import { Mesh } from './Mesh';
import { MeshGeometry } from '../../../procoregl/MeshGeometry';
import type { PWFV1 } from '../PWFV1';
import { PWFMesh } from '../interface/PWFMesh';
import { MeshObject } from '../objects/MeshObject';
export declare class MeshServices {
    protected pwf: PWFV1;
    protected geometryFactory?: GeometryFactory;
    private meshGeometryMap;
    private readonly pwfMeshes;
    private pwfMeshOffsetMap;
    private readonly meshCount;
    private currentIndex;
    constructor(pwfMeshes: PWFMesh[], pwf: PWFV1);
    setGeometryFactory(geometryFactory: GeometryFactory): void;
    getMeshGeometryForOffsets(meshOffset: number, _meshnodeOffset: number | undefined): MeshGeometry | undefined;
    meshFromOffset(offset: number): Mesh;
    numMeshes(): number;
    meshes(): PWFMesh[];
    loadAllMeshGeometryToGPU(): {
        isComplete: boolean;
    };
    private loadToGPU;
    getMeshObject(meshOffset: number): MeshObject;
    private loadMeshGeometryToGPU;
    dispose(): void;
}
