import * as THREE from 'three'; import type { Mesh, MeshPrimitive, TextureInfo, Node } from '../glTF'; import type { Parser } from '../parser'; import type { GlTFResult } from '../type'; import type { ImageBitmapLike } from '../../../../texture/imageBitmap'; export declare class BaseExtension { markDefs(parser: Parser): void; prepare(parser: Parser): void | Promise; emitResult(result: GlTFResult, parser: Parser): void | Promise; createPrimitiveKey(primitiveDef: MeshPrimitive, parser: Parser): void | string; extendTexture(texture: THREE.Texture, mapDef: TextureInfo, parser: Parser): null | THREE.Texture; loadBuffer(index: number, parser: Parser): null | Promise; loadBufferView(index: number, parser: Parser): null | Promise; loadImage(index: number, parser: Parser): null | Promise; loadTexture(index: number, parser: Parser): null | Promise; loadGeometry(primitiveDef: MeshPrimitive, parser: Parser): null | Promise; loadMaterial(primitiveDef: MeshPrimitive, parser: Parser): null | Promise; loadMeshPrimitive(meshDef: Mesh, primitiveDef: MeshPrimitive, parser: Parser): null | Promise; extendMaterial(material: THREE.Material, primitiveDef: MeshPrimitive, parser: Parser): Promise; loadMesh(index: number, parser: Parser): null | Promise; extendNode(node: THREE.Object3D, nodeDef: Node, parser: Parser): Promise; loadNodeAttachments(index: number, parser: Parser): null | Promise; loadCamera(index: number, parser: Parser): null | Promise; loadAnimation(index: number, parser: Parser): null | Promise; }