export interface StopMessageAutoResponseSnapshot {
    providerProtocol?: string;
    finishReason?: string;
    assistantText?: string;
    reasoningText?: string;
    responseExcerpt?: string;
}
type StopMessageAutoMessageBackend = 'iflow' | 'codex';
export type StopMessageAiFollowupHistoryEntry = {
    ts?: number;
    round?: number;
    assistantText?: string;
    reasoningText?: string;
    responseExcerpt?: string;
    followupText?: string;
};
type StopMessageAiFollowupArgs = {
    baseStopMessageText: string;
    candidateFollowupText: string;
    responseSnapshot: StopMessageAutoResponseSnapshot;
    requestId?: string;
    sessionId?: string;
    providerKey?: string;
    model?: string;
    workingDirectory?: string;
    usedRepeats: number;
    maxRepeats: number;
    doneMarker?: string;
    approvedMarker?: string;
    completionClaimed?: boolean;
    isFirstPrompt?: boolean;
    historyEntries?: StopMessageAiFollowupHistoryEntry[];
};
export declare function renderStopMessageAutoFollowupViaAi(args: StopMessageAiFollowupArgs): string | null;
export declare function renderStopMessageAutoFollowupViaIflow(args: StopMessageAiFollowupArgs): string | null;
export declare function extractStopMessageAutoResponseSnapshot(base: unknown, adapterContext: unknown): StopMessageAutoResponseSnapshot;
export declare function extractResponsesOutputText(base: {
    [key: string]: unknown;
}): string;
export declare function hasToolLikeOutput(value: unknown): boolean;
export declare function buildStopMessageAutoMessageIflowPromptForTests(args: StopMessageAiFollowupArgs, backend?: StopMessageAutoMessageBackend): string;
export declare function resolveStopMessageAiDoneMarker(value?: string): string;
export declare function resolveStopMessageAiApprovedMarker(value?: string): string;
export {};
