///
import { InputTemplate, SubsetResult } from '../interface';
import { PerformanceRecord } from '../pipeline/executor';
import { createCSS } from './css';
export type ReporterFile = ReturnType;
export type NameTable = Record;
export interface BundleReporter {
/** 原始字节数 */
originLength: number;
/** ttf字节数 */
ttfLength: number;
/** 打包完成后总字节数 */
bundledTotalLength: number;
/** 原始 unicode 数 */
originSize: number;
/** 打包后 unicode 数 */
bundledSize: number;
}
export type FontReporter = Awaited>;
export declare const createReporter: (subsetResult: SubsetResult, nameTable: NameTable, input: InputTemplate, record: PerformanceRecord[], bundleMessage: BundleReporter, css: Omit, 'css'>) => Promise<{
config: {
fontPath: string;
threads: {
service: undefined;
split?: boolean | undefined;
options?: import("workerpool/types/types").WorkerPoolOptions | undefined;
};
FontPath: string | Uint8Array | Buffer;
destFold: string;
css?: Partial<{
fontFamily: string;
fontWeight: string | number | false;
fontStyle: string;
fontDisplay: string;
localFamily: string | false | string[];
polyfill: (string | {
name: string;
format?: string | undefined;
})[];
comment: false | {
base?: false | undefined;
nameTable?: false | undefined;
unicodes?: true | undefined;
};
compress: boolean;
}> | undefined;
targetType?: import("../utils/detectFormat").FontType | undefined;
subsets?: import("../interface").Subsets | undefined;
autoChunk?: boolean | undefined;
unicodeRank?: number[][] | undefined;
chunkSize?: number | undefined;
chunkSizeTolerance?: number | undefined;
maxAllowSubsetsCount?: number | undefined;
cssFileName?: string | undefined;
testHTML?: boolean | undefined;
reporter?: boolean | undefined;
previewImage?: {
text?: string | undefined;
name?: string | undefined;
} | undefined;
log?: ((...args: any[]) => void) | undefined;
logger?: {
settings?: import("tslog").ISettingsParam | undefined;
} | undefined;
renameOutputFont?: string | ((replaceProps: import("../useSubset/templateReplacer").ReplaceProps) => string) | undefined;
outputFile?: import("../interface").IOutputFile | undefined;
fontFeature?: boolean | undefined;
};
message: NameTable;
data: {
name: string;
size: number;
chars: string;
diff: number;
charsSize: number;
}[];
record: PerformanceRecord[];
version: string;
/** 环境信息 */
env: {
runtime?: {
name: string;
version: string;
} | undefined;
os?: {
name: string;
version: string;
build_number?: string | undefined;
} | undefined;
device?: {
cpus: number;
locale: string;
model?: string | undefined;
manufacturer?: string | undefined; /** 打包后 unicode 数 */
architecture: string;
} | undefined;
createdTime?: string | undefined;
envName: string;
};
bundleMessage: BundleReporter;
css: Omit<{
css: string;
family: string;
style: string;
weight: string | number | undefined;
display: string;
}, "css">;
}>;