import type { HandleMessageStreamEvent } from "#protocol/message.js";
import type { EveEvalDerivedFacts } from "#evals/types.js";
/**
 * Options for {@link deriveRunFacts}.
 */
export interface DeriveRunFactsOptions {
    /** Session id stamped onto every derived tool and subagent call. */
    readonly sessionId?: string;
}
/**
 * Extracts derived execution facts from a completed run's stream events.
 *
 * Tool calls pair each `actions.requested` entry with its matching
 * `action.result` by call id; subagent calls join `subagent.called` /
 * `subagent.started` with `subagent.completed` the same way. These facts
 * power checks, scorers, and reporters.
 */
export declare function deriveRunFacts(events: readonly HandleMessageStreamEvent[], options?: DeriveRunFactsOptions): EveEvalDerivedFacts;
/**
 * Returns empty derived facts, used when a case produced no events
 * (execution errors, transport failures).
 */
export declare function createEmptyDerivedFacts(): EveEvalDerivedFacts;
