/**
 * Builds cucumber messages from Playwright test results.
 */
import * as pw from '@playwright/test/reporter';
import * as messages from '@cucumber/messages';
import { TestCaseRun } from './TestCaseRun';
import EventEmitter from 'node:events';
import EventDataCollector from '../../../cucumber/formatter/EventDataCollector.js';
import { TestRun } from './TestRun';
export declare class MessagesBuilder {
    private report;
    private fullConfig;
    private fullResult;
    testRun: TestRun;
    testCaseRuns: TestCaseRun[];
    private testCases;
    private hooks;
    private gherkinDocuments;
    private testFiles;
    private onEndPromiseResolve;
    finished: Promise<void>;
    private eventDataCollectorEmitter;
    eventDataCollector: EventDataCollector;
    constructor();
    onBegin(config: pw.FullConfig): void;
    onTestEnd(test: pw.TestCase, result: pw.TestResult): void;
    onError(error: pw.TestError): void;
    onEnd(fullResult: pw.FullResult): Promise<void>;
    getMessages(): messages.Envelope[];
    emitMessages(eventBroadcaster: EventEmitter): void;
    private buildMessages;
    private createTestCases;
    private loadFeatures;
    private addMeta;
    private addSourcesAndDocuments;
    private addPickles;
    private addHooks;
    private addTestCases;
    private addTestCaseRuns;
    private addTestRun;
    private buildEventDataCollector;
}
//# sourceMappingURL=index.d.ts.map