import { UnitTestFramework, ImportsArgument, AssertFailMessage, IExecutionResult, FailedLogMessages, CrashInfo } from "../interface.js";
import { ExecutionError } from "../utils/errorTraceHandler.js";
declare class LogRecorder {
    #private;
    addLog(msg: string): void;
    markTestFailed(): void;
    reset(): void;
    onFinishTest(): string[] | null;
}
export declare class ExecutionResult implements IExecutionResult {
    total: number;
    fail: number;
    failedInfo: AssertFailMessage;
    crashInfo: CrashInfo;
    failedLogMessages: FailedLogMessages;
}
export declare class ExecutionRecorder implements UnitTestFramework {
    #private;
    result: ExecutionResult;
    registerFunctions: [string, number][];
    logRecorder: LogRecorder;
    set testCaseFullName(testCaseFullName: string);
    _addDescription(description: string): void;
    _removeDescription(): void;
    _registerTestFunction(fncIndex: number): void;
    startTestFunction(testCaseFullName: string): void;
    finishTestFunction(): void;
    notifyTestCrash(error: ExecutionError): void;
    collectCheckResult(result: boolean, codeInfoIndex: number, actualValue: string, expectValue: string): void;
    log(msg: string): void;
    getCollectionFuncSet(arg: ImportsArgument): Record<string, unknown>;
}
export {};
//# sourceMappingURL=executionRecorder.d.ts.map