import type { EvalConfig, EvalFixture, RunRecord } from './types.js'; export interface CollectorOptions { timeoutMs?: number; /** Called to invoke Codex CLI. Default: npx -y @openai/codex */ invokeCodex?: (args: string[], cwd: string) => Promise; /** Custom provider name to route through (e.g., 'layofflabs') */ provider?: string; /** API key environment variable name when using custom provider */ apiKeyEnv?: string; /** Skip git clone (for testing). Default: false */ skipGitClone?: boolean; /** Clock used to measure elapsed latency. Default: performance.now */ clock?: () => number; } export interface CodexOutput { exitCode: number; stdout: string; stderr: string; } export interface CollectionResult { record: RunRecord; error?: string; responseDebug?: string; } /** * Collects a single RunRecord by executing Codex CLI against a fixture/config pair. * Clones the pinned OMX revision, seeds it with fixture inputs, runs Codex, * captures output/token usage/latency, and grades against fixture checks. */ export declare function collectRecord(fixture: EvalFixture, config: EvalConfig, options?: CollectorOptions): Promise; /** * Collects RunRecords for a matrix of fixtures x configs. * Yields results as they complete, allowing progress reporting and early abort. */ export declare function collectMatrix(fixtures: EvalFixture[], configs: EvalConfig[], options?: CollectorOptions): AsyncGenerator<{ fixture: EvalFixture; config: EvalConfig; result: CollectionResult; }>; //# sourceMappingURL=collector.d.ts.map