import type { ChatMessage, ProviderId } from "../../../types.js"; import type { SessionPlan } from "../../../store/plan.js"; export interface ModelOnlyRoundPorts { readonly messages: ChatMessage[]; readonly provider: ProviderId; readonly model: string; readonly toolsAttached: boolean; readonly notify: (level: "info" | "warn", message: string) => void; readonly commitAssistantRetry: (text: string) => void; readonly recoveryUserMessage: (content: string) => ChatMessage; readonly writeAssistantMessage: (text: string) => void; readonly unreadResponderIds: () => readonly string[]; } export interface ModelOnlyRoundInput { readonly assistantVisible: string; readonly wantsAction: boolean; readonly consecutiveModelOnlyRounds: number; readonly plan: SessionPlan | undefined; } export interface ModelOnlyStop { readonly kind: "stop"; readonly answer: string; readonly remainingCriteria: string[]; readonly reason: string; } export type ModelOnlyRoundDecision = { readonly kind: "proceed"; } | { readonly kind: "continue-round"; } | ModelOnlyStop; export declare const handleModelOnlyRound: (ports: ModelOnlyRoundPorts, input: ModelOnlyRoundInput) => ModelOnlyRoundDecision;