import type { AppContext, WorkspaceServices } from "./types/interfaces.js"; export interface TestCase { tool: string; args?: Record; label?: string; assert?: (data: any) => true | string; } export interface TestResult { label: string; tool: string; status: "pass" | "fail" | "data" | "skip"; elapsedMs: number; tokens: number; data: any; error?: string; detail: string; } export interface SuiteReport { project: string; results: TestResult[]; passed: number; failed: number; dataOnly: number; skipped: number; totalMs: number; } export declare class TestHarness { readonly ctx: AppContext; private _discovery; private constructor(); static setup(projectPath: string): Promise; testAll(): Promise; test(tool: string): Promise; run(cases: TestCase[]): Promise; call(tool: string, args?: Record): Promise; callRaw(tool: string, args?: Record): Promise<{ data: any; isError: boolean; tokens: number; elapsedMs: number; }>; ws(name?: string): WorkspaceServices; close(): Promise; private discover; } //# sourceMappingURL=test-harness.d.ts.map