import { z } from 'zod'; import { ComputerEvaluationPlanSchema, type ComputerEvaluationRun } from './evaluation.js'; declare const CommandSchema: z.ZodObject<{ command: z.ZodArray; cwd: z.ZodOptional; timeoutMs: z.ZodDefault; }, z.core.$strict>; export declare const ComputerEvaluationHarnessManifestSchema: z.ZodObject<{ plan: z.ZodObject<{ taskIds: z.ZodArray; repetitions: z.ZodNumber; modelRef: z.ZodString; environment: z.ZodString; evidence: z.ZodEnum<{ native: "native"; fixture: "fixture"; "real-app": "real-app"; }>; }, z.core.$strict>; executor: z.ZodObject<{ command: z.ZodArray; cwd: z.ZodOptional; timeoutMs: z.ZodDefault; }, z.core.$strict>; oracle: z.ZodObject<{ command: z.ZodArray; cwd: z.ZodOptional; timeoutMs: z.ZodDefault; }, z.core.$strict>; }, z.core.$strict>; export type ComputerEvaluationHarnessManifest = z.infer; type ExecuteCommand = (spec: z.infer, input: unknown, signal?: AbortSignal) => Promise; /** Run one JSON-in/JSON-out harness process without a shell or inherited stdin. */ export declare function executeEvaluationCommand(spec: z.infer, input: unknown, signal?: AbortSignal): Promise; /** Executor and oracle are deliberately separate processes; the oracle alone grades success. */ export declare function runComputerEvaluationManifest(raw: unknown, options?: { execute?: ExecuteCommand; signal?: AbortSignal; onRun?: (run: ComputerEvaluationRun, evidenceRef: string) => void | Promise; }): Promise<{ plan: z.infer; runs: ComputerEvaluationRun[]; evidence: Record; }>; export {};