import { type WorkerInfo } from '@playwright/test';
import type { TestCase } from '@playwright/test/reporter';
import type { Stage, StageCrewMember } from '@serenity-js/core';
import type { DomainEvent } from '@serenity-js/core/lib/events';
import { CorrelationId } from '@serenity-js/core/lib/model';
export declare class WorkerEventStreamWriter implements StageCrewMember {
    private readonly outputDirectory;
    private readonly workerInfo;
    private stage?;
    private readonly beforeAllId;
    private activeSceneId;
    private events;
    static workerStreamIdFor(workerIndex: number): CorrelationId;
    constructor(outputDirectory: string, workerInfo: WorkerInfo, stage?: Stage);
    assignedTo(stage: Stage): StageCrewMember;
    notifyOf(event: DomainEvent): void;
    private isSceneEvent;
    private activeSceneExistsFor;
    private activateScene;
    persistAll(workerBeforeAllSceneId: CorrelationId): Promise<void>;
    persist(testId: TestCase['id'], workerBeforeAllSceneId?: CorrelationId): Promise<void>;
    private flush;
}
//# sourceMappingURL=WorkerEventStreamWriter.d.ts.map