import type { TypedArray, VertexAttributeDataType, VertexAttributeUsageType, VertexObjectBuffersData } from './types.js'; import type { VertexObjectDescriptor } from './VertexObjectDescriptor.js'; interface BufferAttribute { bufferName: string; attributeName: string; offset: number; } interface Buffer { bufferName: string; itemSize: number; dataType: VertexAttributeDataType; usageType: VertexAttributeUsageType; typedArray: TypedArray; serial: number; } export declare class VertexObjectBuffer { readonly descriptor: VertexObjectDescriptor; readonly capacity: number; readonly attributeNames: readonly string[]; readonly buffers: Map; readonly bufferAttributes: Map; readonly bufferNameAttributes: Map; constructor(source: VertexObjectDescriptor | VertexObjectBuffer, capacityOrBuffersData: number | VertexObjectBuffersData); copy(other: VertexObjectBuffer, targetObjectOffset?: number): VertexObjectBuffer; clone(): VertexObjectBuffer; copyArray(source: TypedArray, bufferName: string, targetObjectOffset?: number): void; copyWithin(targetIndex: number, startIndex: number, endIndex?: number): void; copyAttributes(attributes: Record>, targetObjectOffset?: number): number; toAttributeArrays(attributeNames: string[], startIndex?: number, endIndex?: number): Record; touch(): void; } export {}; //# sourceMappingURL=VertexObjectBuffer.d.ts.map