import { VertexObjectBuffer } from './VertexObjectBuffer.js';
import { VertexObjectDescriptor } from './VertexObjectDescriptor.js';
import type { VertexObjectBuffersData, VertexObjectDescription } from './types.js';
export declare class VOBufferPool {
    #private;
    readonly descriptor: VertexObjectDescriptor;
    readonly capacity: number;
    buffer: VertexObjectBuffer;
    constructor(descriptor: VertexObjectDescriptor | VertexObjectDescription, capacityOrData: number | VertexObjectBuffersData);
    get usedCount(): number;
    set usedCount(value: number);
    get availableCount(): number;
    get isDisposed(): boolean;
    clear(): void;
    dispose(): void;
    createFromAttributes(attributes: Record<string, ArrayLike<number>>): [objectCount: number, firstObjectIndex: number];
    toBuffersData(): VertexObjectBuffersData;
    fromBuffersData(buffersData: VertexObjectBuffersData, copyTypedArrays?: boolean): void;
}
//# sourceMappingURL=VOBufferPool.d.ts.map