import type { AgentResponse, Language, CompletionRetryConfig } from '../models/types.js'; import type { CompletionRetryEvidence } from './completion-retry-evidence.js'; export declare const COMPLETION_RETRY_JUDGE_NAME = "review-completion-judge"; export declare const COMPLETION_RETRY_SCHEMA_REF = "takt.review-completion.decision"; export declare function buildCompletionRetryOutputSchema(): Record; export interface CompletionRetryGap { readonly path: string; readonly reason: string; } export interface CompletionRetryDecision { readonly complete: boolean; readonly reason: string; readonly missingObligations: readonly CompletionRetryGap[]; } export interface CompletionRetryDiagnostic { readonly kind: 'max_retry_reached' | 'judge_unavailable' | 'reviewer_retry_failed'; readonly attempts: number; readonly retriesUsed: number; readonly reason: string; readonly missingObligations: readonly CompletionRetryGap[]; } export interface CompletionRetryEpisodeResult { readonly response: AgentResponse; readonly reviewerSessionId: string | undefined; readonly attempts: number; readonly diagnostic?: CompletionRetryDiagnostic; } export interface CompletionRetryAttemptInput { readonly attemptIndex: number; readonly instruction: string; readonly sessionId: string | undefined; } export declare function parseCompletionRetryDecision(value: unknown): CompletionRetryDecision; export declare function buildCompletionRetryJudgePrompt(input: { readonly language: Language | undefined; readonly task: string; readonly reviewerInstruction: string; readonly reviewScope: unknown; readonly evidence: CompletionRetryEvidence; readonly reviewResponse: string; }): { systemPrompt: string; instruction: string; }; export declare function buildCompletionRetryInstruction(input: { readonly originalInstruction: string; readonly retryInstruction: string; readonly missingObligations: readonly CompletionRetryGap[]; }): string; export declare function formatCompletionRetryDiagnostic(diagnostic: CompletionRetryDiagnostic, language: Language | undefined): string; export declare function runCompletionRetryEpisode(input: { readonly config: CompletionRetryConfig; readonly originalInstruction: string; readonly initialResponse: AgentResponse; readonly initialSessionId: string | undefined; readonly executeRetry: (attempt: CompletionRetryAttemptInput) => Promise; readonly judge: (response: AgentResponse, attemptIndex: number) => Promise; readonly isAbort: (error: unknown) => boolean; }): Promise; //# sourceMappingURL=completion-retry.d.ts.map