import type { ExecResult } from '../types/index.js'; import type { CodexEvent } from './shared.js'; export declare function extractCodexUsage(events: CodexEvent[]): { input: number; cached: number; output: number; }; /** * Match @openai/codex-sdk's `finalResponse`: the latest completed * agent_message is the answer. Earlier messages remain available in `turns`. */ export declare function extractCodexFinalOutput(events: CodexEvent[]): string; export declare function extractCodexProtocolError(events: CodexEvent[]): string | undefined; export declare function validateCodexProtocol(events: CodexEvent[]): string | undefined; export declare function extractCodexStopReason(events: CodexEvent[]): string; export declare function sumCodexElapsed(resultEvents: CodexEvent[], wallClock: number): number; export interface BuildCodexResultOptions { events: CodexEvent[]; wallClockDurationMs: number; source: 'codex --json' | 'codex-sdk'; malformedLineCount?: number; forcedError?: string; } export declare function buildCodexResult({ events, wallClockDurationMs, source, malformedLineCount, forcedError, }: BuildCodexResultOptions): ExecResult;