interface TestContext {
    testName: string;
    workerId: string;
}
export declare function setTestContext(testName: string, workerId?: string): void;
export declare function clearTestContext(): void;
export declare function getCurrentTestContext(): TestContext | null;
export declare function withLogging<T extends object>(instance: T, label: string): T;
export declare const logWithTime: (msg: string, startTime: number) => void;
export declare const logWithStopwatch: (msg: string, stopwatch: Stopwatch) => void;
export declare class Stopwatch {
    private _startTime;
    private _elapsed;
    private _running;
    private _lastLap;
    start(): void;
    stop(): void;
    reset(): void;
    elapsed(): number;
    lap(): number;
    _updateLap(): void;
    log(msg: string): void;
}
export declare const defaultStopwatch: Stopwatch;
export declare const logWithElapsed: (msg: string) => void;
/**
 * Call this in test.beforeEach to set up test context for logging
 * @param testInfo - The testInfo object from Playwright test
 */
export declare function setupTestLogging(testInfo: {
    title: string;
    workerIndex?: number;
}): void;
/**
 * Call this in test.afterEach to clean up test context
 */
export declare function cleanupTestLogging(): void;
export {};
