import EventsEmitter2 from 'eventemitter2'; import { PluginEvents, ToolName } from './constants'; import { downloadDatabases, getTestsTreeFromDatabase, mergeDatabases } from './db-utils/server'; import { ImageFileSaver, ReporterConfig, ReportsSaver, SnapshotsSaver } from './types'; export interface HtmlReporterValues { toolName: ToolName; extraItems: Record; metaInfoExtenders: Record; imagesSaver: ImageFileSaver; reportsSaver: ReportsSaver | null; snapshotsSaver: SnapshotsSaver | null; } interface ReporterOptions { toolName: ToolName; } type Parameters = F extends (...rest: infer R) => any ? R : never; export declare class HtmlReporter extends EventsEmitter2 { protected _config: ReporterConfig; protected _values: HtmlReporterValues; protected _version: string; static create(this: new (config: ReporterConfig, options?: Partial) => T, config: ReporterConfig, options?: Partial): T; constructor(config: ReporterConfig, { toolName }?: Partial); get config(): ReporterConfig; get version(): string; get events(): typeof PluginEvents; addExtraItem(key: string, value: string): void; get extraItems(): Record; addMetaInfoExtender(key: string, value: string): void; get metaInfoExtenders(): Record; set imagesSaver(imagesSaver: ImageFileSaver); get imagesSaver(): ImageFileSaver; set reportsSaver(reportsSaver: ReportsSaver); get reportsSaver(): ReportsSaver | null; set snapshotsSaver(snapshotsSaver: SnapshotsSaver); get snapshotsSaver(): SnapshotsSaver | null; get values(): HtmlReporterValues; downloadDatabases(...args: Parameters): ReturnType; mergeDatabases(...args: Parameters): ReturnType; getTestsTreeFromDatabase(...args: Parameters): ReturnType; } export {};