import type Testplane from 'testplane';
import type { Test as TestplaneTest } from 'testplane';
import { ValueOf } from 'type-fest';
import { TestStatus } from '../constants';
import { ErrorDetails, TestplaneTestResult, ImageBase64, ImageInfoFull, TestError } from '../types';
import { ReporterTestResult } from './index';
export declare const getStatus: (eventName: ValueOf<Testplane['events']>, events: Testplane['events'], testResult: TestplaneTestResult) => TestStatus;
export interface TestplaneTestAdapterOptions {
    attempt: number;
    status: TestStatus;
}
export declare class TestplaneTestAdapter implements ReporterTestResult {
    private _testResult;
    private _errorDetails;
    private _timestamp;
    private _attempt;
    private _status;
    static create<T extends TestplaneTestAdapter>(this: new (testResult: TestplaneTestResult, options: TestplaneTestAdapterOptions) => T, testResult: TestplaneTestResult, options: TestplaneTestAdapterOptions): T;
    constructor(testResult: TestplaneTest | TestplaneTestResult, { attempt, status }: TestplaneTestAdapterOptions);
    get fullName(): string;
    get skipReason(): string;
    get status(): TestStatus;
    get sessionId(): string;
    get browserId(): string;
    get imagesInfo(): ImageInfoFull[];
    get attempt(): number;
    get history(): string[];
    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 | undefined;
    set timestamp(timestamp: number | undefined);
}
