import { TestStatus } from '../../../constants';
import { ReporterTestResult } from '../index';
import type Testplane from 'testplane';
import type { Test as TestplaneTest, Config } from 'testplane';
import type { Attachment, ErrorDetails, ImageBase64, ImageInfoFull, TestError, TestplaneTestResult, TestStepCompressed } from '../../../types';
import type { ValueOf } from 'type-fest';
export declare const getStatus: (eventName: ValueOf<Testplane['events']>, events: Testplane['events'], testResult: TestplaneTestResult) => TestStatus;
export interface TestplaneTestResultAdapterOptions {
    attempt: number;
    status: TestStatus;
    duration: number;
    saveHistoryMode?: Config['saveHistoryMode'];
}
export declare class TestplaneTestResultAdapter implements ReporterTestResult {
    private _testResult;
    private _errorDetails;
    private _timestamp;
    private _attempt;
    private _status;
    private _duration;
    private _saveHistoryMode?;
    static create(this: new (testResult: TestplaneTest | TestplaneTestResult, options: TestplaneTestResultAdapterOptions) => TestplaneTestResultAdapter, testResult: TestplaneTest | TestplaneTestResult, options: TestplaneTestResultAdapterOptions): TestplaneTestResultAdapter;
    constructor(testResult: TestplaneTest | TestplaneTestResult, { attempt, status, duration, saveHistoryMode }: TestplaneTestResultAdapterOptions);
    get fullName(): string;
    get skipReason(): string;
    get status(): TestStatus;
    get sessionId(): string;
    get browserId(): string;
    get imagesInfo(): ImageInfoFull[];
    get attempt(): number;
    get history(): TestStepCompressed[];
    get error(): undefined | TestError;
    get imageDir(): string;
    get state(): {
        name: string;
    };
    get testPath(): string[];
    get id(): string;
    get screenshot(): ImageBase64 | undefined;
    get description(): string | undefined;
    get meta(): Record<string, unknown>;
    get errorDetails(): ErrorDetails | null;
    get file(): string;
    get url(): string | undefined;
    get multipleTabs(): boolean;
    get timestamp(): number;
    set timestamp(timestamp: number);
    get duration(): number;
    get attachments(): Attachment[];
}
