import { AssetPromise, BlendShape, Buffer, ContentRestorer, ModelMesh, RequestConfig, Texture2D } from "@galacean/engine-core"; import { Vector2 } from "@galacean/engine-math"; import { GLTFResource } from "./gltf/GLTFResource"; import type { AccessorComponentType, IBufferView } from "./gltf/GLTFSchema"; /** * @internal */ export declare class GLTFContentRestorer extends ContentRestorer { isGLB: boolean; bufferRequests: BufferRequestInfo[]; glbBufferSlices: Vector2[]; bufferTextures: BufferTextureRestoreInfo[]; meshes: ModelMeshRestoreInfo[]; restoreContent(): AssetPromise; private _getBufferData; } /** * @internal */ export declare class BufferRequestInfo { url: string; config: RequestConfig; constructor(url: string, config: RequestConfig); } /** * @internal */ export declare class BufferTextureRestoreInfo { texture: Texture2D; bufferView: IBufferView; mimeType: string; constructor(texture: Texture2D, bufferView: IBufferView, mimeType: string); } /** * @internal */ export declare class ModelMeshRestoreInfo { mesh: ModelMesh; vertexBuffers: BufferRestoreInfo[]; indexBuffer: BufferDataRestoreInfo; blendShapes: BlendShapeRestoreInfo[]; } /** * @internal */ export declare class BufferRestoreInfo { buffer: Buffer; data: BufferDataRestoreInfo; constructor(buffer: Buffer, data: BufferDataRestoreInfo); } /** * @internal */ export declare class BufferDataRestoreInfo { main: RestoreDataAccessor; typeSize?: number; sparseCount?: number; sparseIndices?: RestoreDataAccessor; sparseValues?: RestoreDataAccessor; constructor(main: RestoreDataAccessor, typeSize?: number, sparseCount?: number, sparseIndices?: RestoreDataAccessor, sparseValues?: RestoreDataAccessor); } /** * @internal */ export declare class RestoreDataAccessor { bufferIndex: number; TypedArray: Uint8ArrayConstructor | Int8ArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor; byteOffset: number; length: number; constructor(bufferIndex: number, TypedArray: Uint8ArrayConstructor | Int8ArrayConstructor | Int16ArrayConstructor | Uint16ArrayConstructor | Uint32ArrayConstructor | Float32ArrayConstructor, byteOffset: number, length: number); } /** * @internal */ export declare class BlendShapeRestoreInfo { blendShape: BlendShape; position: BlendShapeDataRestoreInfo; normal?: BlendShapeDataRestoreInfo; tangent?: BlendShapeDataRestoreInfo; constructor(blendShape: BlendShape, position: BlendShapeDataRestoreInfo, normal?: BlendShapeDataRestoreInfo, tangent?: BlendShapeDataRestoreInfo); } /** * @internal */ export declare class BlendShapeDataRestoreInfo { buffer: BufferDataRestoreInfo; byteOffset: number; count: number; normalized: boolean; componentType: AccessorComponentType; constructor(buffer: BufferDataRestoreInfo, byteOffset: number, count: number, normalized: boolean, componentType: AccessorComponentType); }