import { BFast } from "./bfast"; import { G3d, G3dAttributeDescriptor, TypedArray } from "./g3d"; declare class G3dRemoteAttribute { descriptor: G3dAttributeDescriptor; bfast: BFast; constructor(descriptor: G3dAttributeDescriptor, bfast: BFast); getAll(): Promise; getByte(index: number): Promise; getNumber(index: number): Promise; getValue(index: number): Promise; getValues(index: number, count: number): Promise; getCount(): Promise; static fromString(description: string, bfast: BFast): G3dRemoteAttribute; } /** * G3D is a simple, efficient, generic binary format for storing and transmitting geometry. * The G3D format is designed to be used either as a serialization format or as an in-memory data structure. * See https://github.com/vimaec/g3d */ export declare class RemoteAbstractG3d { meta: string; attributes: G3dRemoteAttribute[]; constructor(meta: string, attributes: G3dRemoteAttribute[]); findAttribute(descriptor: string): G3dRemoteAttribute | undefined; /** * Create g3d from bfast by requesting all necessary buffers individually. */ static createFromBfast(bfast: BFast): RemoteAbstractG3d; } export declare class RemoteG3d { rawG3d: RemoteAbstractG3d; positions: G3dRemoteAttribute; indices: G3dRemoteAttribute; instanceMeshes: G3dRemoteAttribute; instanceTransforms: G3dRemoteAttribute; instanceFlags: G3dRemoteAttribute; meshSubmeshes: G3dRemoteAttribute; submeshIndexOffsets: G3dRemoteAttribute; submeshMaterials: G3dRemoteAttribute; materialColors: G3dRemoteAttribute; constructor(g3d: RemoteAbstractG3d); static createFromBfast(bfast: BFast): RemoteG3d; getVertexCount: () => Promise; getMeshCount: () => Promise; getSubmeshCount: () => Promise; getMeshIndexStart(mesh: number): Promise; getMeshIndexEnd(mesh: number): Promise; getMeshIndexCount(mesh: number): Promise; getMeshIndices(mesh: number): Promise; getMeshSubmeshEnd(mesh: number): Promise; getMeshSubmeshStart(mesh: number): Promise; getMeshSubmeshCount(mesh: number): Promise; getSubmeshIndexStart(submesh: number): Promise; getSubmeshIndexEnd(submesh: number): Promise; getSubmeshIndexCount(submesh: number): Promise; toG3d(): Promise; slice(instance: number): Promise; filter(instances: number[]): Promise; private filterInstances; private filterMesh; private filterSubmeshes; private filterIndices; private filterPositions; private filterMaterials; } export {};