import { reporters, Runner } from 'mocha'; import { Environment, Test } from 'ctrf'; export { ctrf, extra } from './runtime.js'; interface Options { reporter: string; reporterOptions: ReporterOptions; "reporter-option": ReporterOptions; } interface ReporterOptions { outputFile?: string; outputDir?: string; minimal?: boolean; screenshot?: boolean; testType?: string; appName?: string | undefined; appVersion?: string | undefined; osPlatform?: string | undefined; osRelease?: string | undefined; osVersion?: string | undefined; buildName?: string | undefined; buildNumber?: number | undefined; buildUrl?: string | undefined; repositoryName?: string | undefined; repositoryUrl?: string | undefined; branchName?: string | undefined; testEnvironment?: string | undefined; } declare class GenerateCtrfReport extends reporters.Base { private readonly ctrfReport; readonly ctrfEnvironment: Environment; private readonly reporterOptions; readonly reporterName = "mocha-ctrf-json-reporter"; readonly defaultOutputFile = "ctrf-report.json"; readonly defaultOutputDir = "ctrf"; filename: string; private readonly projectRoot; private readonly mocharcJsPath; private readonly mocharcJsonPath; private currentTest; private pendingMessages; private retryAttemptsByTest; constructor(runner: Runner, options: Options); /** * Handle incoming runtime messages (extra() calls) * Messages are queued for current test */ private applyRuntimeMessage; handleStart(): void; /** * Track test begin for runtime context */ handleTestBegin(test: Mocha.Test): void; handleRetry(test: Mocha.Test, err: Error): void; handleTestEnd(test: Mocha.Test, err?: Error): void; handleEnd(): void; private updateCtrfTestResultsFromTest; private mapStatus; private getTestId; private buildRetryAttempts; /** * Deep merge two objects following CTRF merge rules: * - Arrays: concatenated * - Objects: recursively merged * - Primitives: overwritten */ private deepMerge; private getReporterOptions; private getReporterOptionsFromMocharcJs; private getReporterOptionsFromMocharcJson; private getReporterOptionsFromCommandLine; private setFilename; private updateCtrfTotalsFromTest; private setEnvironmentDetails; private hasEnvironmentDetails; extractFailureDetails(testResult: Mocha.Test): Partial; private writeReportToFile; } export { GenerateCtrfReport as default };