import type { Clock, KernelPaths, TaskRecord, V2TypedEvent } from "./types.js"; export interface ProviderHookIngressInput { readonly paths: KernelPaths; readonly clock: Clock; readonly provider: "claude" | "codex"; readonly sessionId: string; readonly taskId?: string | null; readonly hookName: string; readonly deliveryId: string; } export interface ProviderHookIngressResult { readonly ok: boolean; readonly reason?: string; readonly event?: V2TypedEvent; readonly created?: boolean; readonly wake_claimed?: boolean; readonly effects_applied?: boolean; } export declare function ingestProviderHook(input: ProviderHookIngressInput): ProviderHookIngressResult; export declare function applyProviderEventTransactionUnlocked(input: ProviderHookIngressInput): ProviderHookIngressResult; /** * Latest journaled provider_session for the task's current attempt. * Requires explicit safe-integer attempt — never defaults to task.attempt. */ export declare function resolveJournaledProviderSession(paths: KernelPaths, runId: string, task: TaskRecord): { session_id: string; engine: "claude" | "codex"; attempt: number; } | null;