import { Logger } from "@donmccurdy/caporal"; import { Document, JSONDocument, Logger as _Logger } from "@gltf-transform/core"; import { Config } from "../config/index.js"; export type ProcessStats = { startTime: number; totalGPUMemoryInMB: number; totalFilesProcessed: number; totalFileSizeInMB: number; totalFileSizeInMBBefore: number; }; export declare function printStats(stats: ProcessStats, logger: Logger | _Logger, config: Config): void; declare class Stats { /** Size in bytes */ size: number; asset: { version: string; generator?: string; copyright?: string; extras: any; }; json: JSONDocumentInfo; nodes: number; materials: number; meshes: MeshInfo; textures: TextureInfo; animations: AnimationInfo; constructor(document: Document, json: JSONDocument | null, size: number); static combine(others: Stats[], type?: "main" | "lods"): Stats | null; } export declare class FileStats extends Stats { readonly filename: string; readonly isLOD: boolean; constructor(file: string, document: Document, json: JSONDocument); } export declare class MeshInfo { count: number; primitives: number; vertices: number; triangles: number; memory: number; formats: string[]; errors?: string[]; warnings?: string[]; addFrom(other: MeshInfo): void; } export declare class TextureInfo { count: number; memory: number; gpu_memory: number; formats: string[]; errors?: string[]; warnings?: string[]; addFrom(other: TextureInfo): void; } export declare class AnimationInfo { count: number; size: number; channels: number; addFrom(other: AnimationInfo): void; } export declare class JSONDocumentInfo { size: number; addFrom(other: JSONDocumentInfo): void; } /** * Create a new filestats object from a file and a document */ export declare function createNewFilestats(file: string, document: Document, jsonDocument: JSONDocument): FileStats; export declare function writeFileStatsToFile(filestats: FileStats[], output_path: string): string | null; export {};