import type { StepResult, ConsoleMessage, ConsoleException } from '@testim/root-cause-types';
import { ActiveFeatures } from './attachInterfaces';
export declare class TestContext {
    testArtifactsFolder: string;
    private testName;
    private testFullName;
    testFilePath: string;
    featuresSettings: ActiveFeatures;
    dateConstructor: typeof Date;
    private stepIndex;
    private stepResults;
    private testMetadata;
    private _currentStep?;
    consoleEntries: ConsoleMessage[];
    unhandledExceptions: ConsoleException[];
    constructor(testArtifactsFolder: string, testName: string, testFullName: string, testFilePath: string, featuresSettings: ActiveFeatures, dateConstructor?: typeof Date);
    get currentStep(): Readonly<StepResult> | undefined;
    stepStarted(): void;
    getStepIndex(): number;
    stepEnded(): Promise<void>;
    testEnded(): Promise<void>;
    addTestMetadata(metadata: any): void;
    addStepMetadata(metadata: any): void;
    addAssertionStep(partialStep: Omit<StepResult, 'index' | 'startTimestamp'>): void;
    private persistResults;
    private getResultsForPersistency;
}
