import type { FullConfig } from "@playwright/test";
import type { TestResult as PlaywrightTestResult, Suite, TestCase, TestStep } from "@playwright/test/reporter";
import type { AllurePlaywrightReporterConfig, ReporterV2 } from "./model.js";
export declare class AllureReporter implements ReporterV2 {
    #private;
    config: FullConfig;
    suite: Suite;
    options: AllurePlaywrightReporterConfig;
    outputDir: string | undefined;
    snapshotDir: string | undefined;
    private allureRuntime;
    private globalStartTime;
    private processedDiffs;
    private readonly startedTestCasesTitlesCache;
    private readonly allureResultsUuids;
    private readonly attachmentTargets;
    private beforeHooksStepsStack;
    private afterHooksStepsStack;
    private beforeHooksAttachmentsStack;
    private afterHooksAttachmentsStack;
    private readonly pwStepUuid;
    constructor(config: AllurePlaywrightReporterConfig);
    onConfigure(config: FullConfig): void;
    onError(): void;
    onExit(): void;
    onStdErr(): void;
    onStdOut(): void;
    onBegin(suite: Suite): void;
    onTestBegin(test: TestCase): void;
    onStepBegin(test: TestCase, _result: PlaywrightTestResult, step: TestStep): void;
    onStepEnd(test: TestCase, _result: PlaywrightTestResult, step: TestStep): void;
    onTestEnd(test: TestCase, result: PlaywrightTestResult): Promise<void>;
    addSkippedResults(): Promise<void>;
    onEnd(): Promise<void>;
    printsToStdio(): boolean;
    private processStepMetadataMessage;
    private processAttachment;
    version(): "v2";
}
/**
 * @deprecated for removal, import functions directly from "allure-js-commons".
 */
export declare const allure: import("./legacy.js").AllurePlaywrightLegacyApi;
/**
 * @deprecated for removal, import functions directly from "@playwright/test".
 */
export { test, expect } from "@playwright/test";
export default AllureReporter;
