import { BaseCompilation } from './baseCompiler.js'; interface StatsOptionsObj { all?: boolean; preset?: 'normal' | 'none' | 'verbose' | 'errors-only' | 'errors-warnings'; assets?: boolean; chunks?: boolean; modules?: boolean; entrypoints?: boolean; warnings?: boolean; warningsCount?: boolean; errors?: boolean; errorsCount?: boolean; colors?: boolean; chunkModules?: boolean; hash?: boolean; ids?: boolean; orphanModules?: boolean; runtimeModules?: boolean; cachedModules?: boolean; nestedModules?: boolean; optimizationBailout?: boolean; /** Rspack not support below opts */ cachedAssets?: boolean; groupAssetsByInfo?: boolean; groupAssetsByPath?: boolean; groupAssetsByChunk?: boolean; groupAssetsByExtension?: boolean; groupAssetsByEmitStatus?: boolean; } /** webpack not support boolean or string */ type StatsOptions = StatsOptionsObj; interface StatsAssetInfo { development?: boolean; } export interface StatsAsset { type: string; name: string; size: number; chunks?: (string | number)[]; chunkNames?: Array; info: StatsAssetInfo; } interface StatsError { message: string; formatted?: string; } type KnownStatsModuleIssuer = { identifier?: string; name?: string; id?: string | number | null; moduleId?: string | number | null; }; export interface StatsModule { type?: string; moduleType?: string; identifier?: string; moduleIdentifier?: string; name?: string; moduleName?: string; id?: string | number; chunks?: Array; size?: number; issuer?: string; issuerName?: string; assets?: Array; reasons?: Array; source?: string | Buffer; orphanModules?: Array; runtimeModules?: Array; cachedModules?: Array; nestedModules?: Array; nameForCondition?: string; depth?: number | string; loc?: string; modules?: StatsModule[]; layer?: string; issuerPath?: Record[] | KnownStatsModuleIssuer[]; optimizationBailout?: string[]; } export interface StatsModuleReason { moduleIdentifier?: string; moduleName?: string; moduleId?: string | number; type?: string; userRequest?: string; children?: StatsModuleReason[]; loc?: string; } export interface JSStatsChunkGroup { name?: string; assets?: { name: string; size?: number; }[]; chunks?: (string | number)[]; assetsSize?: number; } export type StatsChunkGroup = JSStatsChunkGroup; export interface StatsCompilation { version?: string; /** rspack version */ rspackVersion?: string; name?: string; hash?: string; time?: number; builtAt?: number; publicPath?: string; assetsByChunkName?: Record; filteredModules?: number; assets?: Array; modules?: Array; chunks?: Array; entrypoints?: Record; children?: StatsCompilation[]; errors?: Array; errorsCount?: number; warnings?: Array; warningsCount?: number; outputPath?: string; } interface StatsChunk { type?: string; files?: Array; id?: string | number; entry: boolean; initial: boolean; names?: Array; size: number; modules?: Array; } export declare class Stats { constructor(statsJson: any); compilation: BaseCompilation; hasErrors(): boolean; hasWarnings(): boolean; toJson(opts?: StatsOptions): StatsCompilation; toString(opts?: StatsOptions): string; } export {};