import { StreamedMeshGeometry } from '../../../procoregl/StreamedMeshGeometry';
import type { PWFV1 } from '../PWFV1';
import { MeshServices } from '../standard';
import type { StreamedMeshnode } from './StreamedMeshnode';
import { MeshObject } from '../objects/MeshObject';
import { MeshData } from './MeshData';
import { Mesh } from '../standard/Mesh';
import type { ValidatedFeatureFlags } from '../../../types/WebviewerOptions';
import type { ResourceDiscriminator } from '../../../Webviewer';
export declare class StreamedMeshServices extends MeshServices {
    private readonly featureFlags;
    private meshIndexToOPFSRecord;
    private opfsFile?;
    private opfsOffset;
    private resource;
    constructor(params: {
        pwf: PWFV1;
        featureFlags: ValidatedFeatureFlags;
        resource: ResourceDiscriminator;
    });
    initOPFS(): Promise<void>;
    private deleteOPFSFile;
    closeOPFS(): Promise<void>;
    writeMeshDataToOPFS(meshData: MeshData): Promise<void>;
    getMeshObject(meshIndex: number): MeshObject;
    loadPartitionContainingMeshnode(streamedMeshnode: StreamedMeshnode): Promise<void>;
    getMeshGeometryForOffsets(meshOffset: number, meshnodeOffset: number): StreamedMeshGeometry | undefined;
    meshFromOffset(meshIndex: number): Mesh;
    private getCompressedMeshDataFromOPFS;
    dispose(): Promise<void>;
}
