import WDIOReporter, { type SuiteStats, type TestStats } from '@wdio/reporter';
interface MobileSelectorPerformanceReporterOptions extends Record<string, unknown> {
    reportDirectory?: string;
}
export default class MobileSelectorPerformanceReporter extends WDIOReporter {
    private _reportDirectory?;
    constructor(options: MobileSelectorPerformanceReporterOptions);
    /**
     * Get the current suite from the reporter's suite tracking
     * Returns the most nested suite (skips root suite)
     * Matches spec-reporter approach: uses currentSuites array
     * WDIOReporter base class manages currentSuites - last item is most nested
     */
    private getCurrentSuite;
    /**
     * Update context from current suite (helper to avoid duplication)
     */
    private updateContextFromCurrentSuite;
    /**
     * Extract test file path from suite, matching spec-reporter logic
     * Spec reporter: suite.file?.replace(process.cwd(), '')
     * Then slices leading '/' when displaying: .slice(1)
     */
    private extractTestFile;
    /**
     * Extract suite name from suite title, matching spec-reporter logic
     * Only skip root suite which has "(root)" title
     */
    private extractSuiteName;
    /**
     * Extract test name from test title, matching spec-reporter logic
     * Spec reporter uses test.title directly for all frameworks
     */
    private extractTestName;
    onSuiteStart(suite: SuiteStats): void;
    onTestStart(test: TestStats): void;
    onTestPass(_test: TestStats): void;
    onTestFail(_test: TestStats): void;
    onTestSkip(test: TestStats): void;
    onTestPending(test: TestStats): void;
    onHookStart(): void;
    onHookEnd(): void;
}
export {};
//# sourceMappingURL=mspo-reporter.d.ts.map