import type { HumanInputQuestion, SessionEvent, SessionHumanInputRequest } from "@opengeni/sdk"; /** Minimal actionable request shape available from the durable event log. */ export type PendingHumanInputRequest = { id: string; turnId: string | null; questions: HumanInputQuestion[]; allowSkip: boolean; expiresAt: string | null; }; /** A pending row stops being actionable at its durable deadline, even before refresh. */ export declare function isActionableHumanInputRequest(request: Pick, nowMs?: number): boolean; /** Parse one generic `session.humanInput.requested` event defensively. */ export declare function humanInputRequestFromEvent(event: Pick): PendingHumanInputRequest | null; /** * Fold a durable event log into the structured requests that are actionable * now. Responses remove one request; a terminal owning turn clears any * unresolved requests that died with it. Replaying history cannot resurrect a * previously answered card. */ export declare function projectPendingHumanInputRequests(events: SessionEvent[]): PendingHumanInputRequest[];