import { Vector3, Texture, Object3D } from 'three'; import { GLTFLoaderPlugin } from 'three/addons/loaders/GLTFLoader.js'; export class GLTFStructuralMetadataExtension implements GLTFLoaderPlugin { name: 'EXT_structural_metadata'; } export class StructuralMetadata { constructor( definition: any, textures: Array, buffers: Array, nodeMetadata?: any, object?: Object3D | null ); textures: Array; getPropertyTableData( tableIndices: Array, ids: Array, target: Array ): Array; getPropertyTableInfo( tableIndices: Array | null ): Array<{ name: string, className: string }>; getPropertyTextureData( triangle: number, barycoord: Vector3, target: Array ): Array; getPropertyTextureDataAsync( triangle: number, barycoord: Vector3, target: Array ): Promise>; getPropertyTextureInfo(): Array<{ name: string, className: string, properties: { [key: string]: { index: number, texCoord: number, channels: Array, } } }>; getPropertyAttributeData( attributeIndex: number, target: Array ): Array; getPropertyAttributeInfo(): Array<{ name: string, className: string }>; dispose(): void; }