import type { Reporter, TestCase, TestResult, FullConfig, FullResult } from '@playwright/test/reporter'; import { RunInfo } from './run-info.js'; import { JsonStream } from './utils/json-stream.js'; import { TimelineReporterOptions, TimelineReporterOptionsResolved } from './options.js'; import { MergeReports } from './merge-reports.js'; import { TestTimings } from './test-timings/types.js'; export type { TimelineReporterOptions }; export default class TimelineReporter implements Reporter { protected options: TimelineReporterOptionsResolved; protected configDir: string; protected config: FullConfig; protected stream?: JsonStream; protected mergeReports: MergeReports; protected currentMergeReportId?: string; constructor(options?: TimelineReporterOptions); printsToStdio(): boolean; onBegin(config: FullConfig): void; onTestEnd(test: TestCase, result: TestResult): void; onEnd(result: FullResult): Promise; private openStream; protected writeStream(data: TestTimings): void; protected closeStream(runInfo: RunInfo): Promise; private getPromptTemplate; private resolveOutputFile; private warn; }