import type { ClarificationKind, ClarificationResponseAction, ClarificationWait, ClarificationWaitSnapshot } from '@xopcai/gateway-contract'; import { type SessionInput } from './session-input-repository.js'; export type CreateClarificationInput = { sessionKey: string; runId: string; toolCallId: string; kind: ClarificationKind; question: string; choices?: string[]; suggestedAnswer?: string; approvalKey?: string; now?: number; }; export type ResolveClarificationInput = { id: string; expectedVersion: number; idempotencyKey: string; action: ClarificationResponseAction; answer?: string; now?: number; }; export type ResolveClarificationResult = { ok: true; clarification: ClarificationWait; idempotent: boolean; queued: boolean; } | { ok: false; code: 'NOT_FOUND' | 'CONFLICT' | 'EXPIRED' | 'INVALID'; clarification?: ClarificationWait; }; export declare function getClarification(id: string): ClarificationWait | undefined; export declare function getActiveClarification(sessionKey: string): ClarificationWait | undefined; export declare function getClarificationSnapshot(sessionKey: string): ClarificationWaitSnapshot | undefined; export declare function createClarificationWait(input: CreateClarificationInput): ClarificationWait; export declare function isClarificationSuspended(sessionKey: string, runId: string): boolean; export declare function resolveClarification(input: ResolveClarificationInput): ResolveClarificationResult; export declare function getClarificationResumeInput(sessionKey: string, runId: string): SessionInput | undefined; export declare function consumeClarificationResume(input: SessionInput): boolean; export declare function consumeClarificationApproval(sessionKey: string, approvalKey: string): 'approved' | 'denied' | undefined; export declare function supersedeActiveClarification(sessionKey: string, now?: number): ClarificationWait | undefined;