import { TestAgentListener } from "@/common/events"; import { ActionDescriptor } from "@/common/actions"; import { TestCaseDefinition, TestCaseResult, TestStepDefinition } from "@/types"; export interface TestStepState { definition: TestStepDefinition; actions: ActionDescriptor[]; } export interface TestCaseState { steps: TestStepState[]; stepIndex: number; checkIndex: number; result: TestCaseResult | null; metadata: Record; } export declare function isTestCaseCompletedSuccessfully(state: TestCaseState): boolean; export declare function isTestCaseDone(state: TestCaseState): boolean; export declare function isTestCaseFailed(state: TestCaseState): boolean; export declare class TestCaseStateTracker { private definition; private state; private stateSubscribers; constructor(testCase: TestCaseDefinition); getListener(): TestAgentListener; getState(): TestCaseState; onStateChange(callback: (state: TestCaseState) => void): void; private _notifyStateSubscribers; private _onStart; private _onActionTaken; private _onStepCompleted; private _onCheckCompleted; private _onDone; }