import { TestCase as PlaywrightTestCase, TestResult as PlaywrightTestResult } from '@playwright/test/reporter';
import { ReporterTestResult } from './index';
import { TestStatus } from '../constants';
import { ErrorDetails, ImageFile, ImageInfoFull, TestError } from '../types';
import type { CoordBounds } from 'looks-same';
export type PlaywrightAttachment = PlaywrightTestResult['attachments'][number];
type ExtendedError<T> = TestError & {
    meta?: T & {
        type: string;
    };
};
export type PwtImageDiffError = ExtendedError<{
    snapshotName: string;
    diffClusters: CoordBounds[];
}>;
export type PwtNoRefImageError = ExtendedError<{
    snapshotName: string;
}>;
export declare enum PwtTestStatus {
    PASSED = "passed",
    FAILED = "failed",
    TIMED_OUT = "timedOut",
    INTERRUPTED = "interrupted",
    SKIPPED = "skipped"
}
export declare enum ImageTitleEnding {
    Expected = "-expected.png",
    Actual = "-actual.png",
    Diff = "-diff.png",
    Previous = "-previous.png"
}
export declare const DEFAULT_DIFF_OPTIONS: {
    diffColor: string;
};
export declare const getStatus: (result: PlaywrightTestResult) => TestStatus;
export declare class PlaywrightTestAdapter implements ReporterTestResult {
    private readonly _testCase;
    private readonly _testResult;
    private _attempt;
    constructor(testCase: PlaywrightTestCase, testResult: PlaywrightTestResult, attempt: number);
    get attempt(): number;
    get browserId(): string;
    get description(): string | undefined;
    get error(): TestError | undefined;
    get errorDetails(): ErrorDetails | null;
    get file(): string;
    get fullName(): string;
    get history(): string[];
    get id(): string;
    get imageDir(): string;
    get imagesInfo(): ImageInfoFull[];
    get meta(): Record<string, unknown>;
    get multipleTabs(): boolean;
    get screenshot(): ImageFile | null;
    get sessionId(): string;
    get skipReason(): string;
    get state(): {
        name: string;
    };
    get status(): TestStatus;
    get testPath(): string[];
    get timestamp(): number | undefined;
    get url(): string;
    private get _attachmentsByState();
}
export {};
