import { Partition } from './Partition';
import type { StreamedMeshnode } from './StreamedMeshnode';
import { PWFPartitionProxy } from '../interface/PWFPartitionProxy';
import { StreamedGeometryFactory } from '../../../procoregl/StreamedGeometryFactory';
export declare class PartitionProxy {
    private pwfPartitionProxy;
    static numberOfPartitions: number;
    static numberOfPartitionsLoaded: number;
    static currentNumberOfDownloading: number;
    static prefetchingPartitions: boolean;
    loadedToGPU: boolean;
    isLoading: boolean;
    private _meshnodes;
    private _byteLength?;
    private _compressedByteLength?;
    private stats;
    constructor(pwfPartitionProxy: PWFPartitionProxy);
    meshCount(): number;
    incrementMeshCount(numMeshes: number): void;
    vertexCount(): number;
    incrementVertexCount(numVertices: number): void;
    faceCount(): number;
    incrementFaceCount(numFaces: number): void;
    partitionId(): number;
    partitionUrl(): Promise<string>;
    meshnodeOffsets(): Uint32Array;
    meshnodes(): StreamedMeshnode[];
    setMeshnodes(meshnodes: StreamedMeshnode[]): void;
    loadPartitionData(callbackFn: (partition: Partition) => void): Promise<void>;
    loadPartition(factory: StreamedGeometryFactory): Promise<void>;
    size(): {
        compressed: number;
        size: number;
    };
    static processPartitionProxiesAB(partitionProxiesAB: ArrayBuffer, callback: (partitionProxy: PartitionProxy) => void): void;
    static getPartitionProxies(partitionProxiesAB: ArrayBuffer): PWFPartitionProxy[];
    getContentOfPartitionUrl(): string;
}
