import WDIOReporter, { AfterCommandArgs, CommandArgs, HookStats, RunnerStats, SuiteStats, TestStats } from '@wdio/reporter';
import { HtmlReporterOptions, Metrics } from "./types.js";
export default class HtmlReporter extends WDIOReporter {
    options: HtmlReporterOptions;
    defaultTestIndent: string;
    metrics: Metrics;
    _indents: number;
    _suiteIndents: Record<string, number>;
    _suiteUids: Map<any, any>;
    _testUids: Map<any, any>;
    _specs: Map<any, any>;
    _currentSuiteUid: string;
    _currentTestUid: string;
    _currentCid: string;
    private LOG;
    private _suites;
    private reportGenerator?;
    constructor(options: HtmlReporterOptions);
    get isSynchronised(): boolean;
    onRunnerStart(runner: RunnerStats): void;
    onSuiteStart(suite: SuiteStats): void;
    onTestStart(theTest: TestStats): void;
    onTestPass(theTest: TestStats): void;
    onTestSkip(test: TestStats): void;
    onTestFail(theTest: TestStats): void;
    onTestEnd(theTest: TestStats): void;
    onHookStart(hook: HookStats): void;
    onHookEnd(hook: HookStats): void;
    onSuiteEnd(suite: SuiteStats): void;
    isScreenshotCommand(command: CommandArgs): boolean;
    onAfterCommand(command: AfterCommandArgs): void;
    onRunnerEnd(runner: RunnerStats): void;
    getSuite(uid: string | undefined): SuiteStats | undefined;
    removeSuite(uid: string | undefined): void;
    getTest(uid: string): TestStats | undefined;
    moveErrorsToEvents(test: TestStats): void;
    saveScreenshot(filepath: string): void;
    saveVideo(filepath: string): void;
    saveMessage(message: string): void;
    filterChildSuites(): SuiteStats[];
    indent(uid: string): string;
}
