import { GlbInterface } from './Glb.js'; import { GltfJsonInterface } from './GltfJson.js'; import { GltfValidatorReportInterface } from './GltfValidatorReport.js'; import { ImageInterface } from './Image.js'; import { LoadableAttribute, LoadableAttributeInterface } from './LoadableAttribute.js'; import { NodeTransform, NodeTransformInterface } from './NodeTransform.js'; import { PrimitiveInterface } from './Primitive.js'; import { Scene } from '@babylonjs/core/scene.js'; import { ValidatorInterface } from './Validator.js'; export interface ModelInterface { colorValueMax: LoadableAttributeInterface; colorValueMin: LoadableAttributeInterface; fileSizeInKb: LoadableAttributeInterface; glb: GlbInterface; gltfValidatorReport: GltfValidatorReportInterface; hardEdgeCount: LoadableAttributeInterface; height: LoadableAttributeInterface; images: ImageInterface[]; invertedTriangleCount: LoadableAttributeInterface; json: GltfJsonInterface; length: LoadableAttributeInterface; loaded: boolean; materialCount: LoadableAttributeInterface; maxUvDensity: LoadableAttributeInterface; meshCount: LoadableAttributeInterface; minUvDensity: LoadableAttributeInterface; overlappingUvCount: LoadableAttributeInterface; nodeCount: LoadableAttributeInterface; nonManifoldEdgeCount: LoadableAttributeInterface; primitives: PrimitiveInterface[]; primitiveCount: LoadableAttributeInterface; rootNodeTransform: NodeTransformInterface; texturesMaxHeight: LoadableAttributeInterface; texturesMaxWidth: LoadableAttributeInterface; texturesMinHeight: LoadableAttributeInterface; texturesMinWidth: LoadableAttributeInterface; triangleCount: LoadableAttributeInterface; scene: Scene; u: { max: LoadableAttributeInterface; min: LoadableAttributeInterface; }; v: { max: LoadableAttributeInterface; min: LoadableAttributeInterface; }; validator: ValidatorInterface; width: LoadableAttributeInterface; getAttributes: () => LoadableAttributeInterface[]; loadFromFileInput(files: File[]): Promise; loadFromFileSystem(filepaths: string[]): Promise; uvIsInRangeZeroToOne: () => boolean; } export declare class Model implements ModelInterface { colorValueMax: LoadableAttribute; colorValueMin: LoadableAttribute; fileSizeInKb: LoadableAttribute; glb: GlbInterface; gltfValidatorReport: GltfValidatorReportInterface; hardEdgeCount: LoadableAttribute; height: LoadableAttribute; images: ImageInterface[]; invertedTriangleCount: LoadableAttribute; json: GltfJsonInterface; length: LoadableAttribute; loaded: boolean; materialCount: LoadableAttribute; maxUvDensity: LoadableAttribute; meshCount: LoadableAttribute; minUvDensity: LoadableAttribute; nonManifoldEdgeCount: LoadableAttribute; nodeCount: LoadableAttribute; overlappingUvCount: LoadableAttribute; primitives: PrimitiveInterface[]; primitiveCount: LoadableAttribute; rootNodeTransform: NodeTransform; texturesMaxHeight: LoadableAttribute; texturesMaxWidth: LoadableAttribute; texturesMinHeight: LoadableAttribute; texturesMinWidth: LoadableAttribute; triangleCount: LoadableAttribute; scene: Scene; u: { max: LoadableAttribute; min: LoadableAttribute; }; v: { max: LoadableAttribute; min: LoadableAttribute; }; validator: ValidatorInterface; width: LoadableAttribute; constructor(validator: ValidatorInterface); getAttributes(): LoadableAttribute[]; loadFromFileInput(files: File[]): Promise; loadFromFileSystem(filePaths: string[]): Promise; uvIsInRangeZeroToOne: () => boolean; private calculateColorValues; private calculateDimensions; private calculateEdgeValues; private calculateUvValues; private getTextureSizes; private loadImagesFromBin; private loadFromGlb; private loadPrimitives; private loadRootNodeTransform; private loadObjectCountsFromJson; private loadReportFromGltfValidator; private runGltfValidatorWithBytes; }