import type { LLMMessage } from '../llm/llm-provider.js'; type MessageLike = { role: string; content: unknown; }; export declare function extractThinkingTagBodies(raw: string): string; export declare function lastMessageNeedsToolFollowUp(messages: readonly MessageLike[]): boolean; export declare function hasToolResultAfterLastAssistant(messages: readonly MessageLike[]): boolean; export declare function shouldSuppressReasoningForToolFollowUpRound(messages: readonly MessageLike[]): boolean; export interface FollowUpPattern { pattern: RegExp; expectedTool: string; guidance: string; } export interface TextActionFollowUp { matchedPattern: string; expectedTool: string; guidance: string; } export declare function hasCompletedToolCallRecently(messages: LLMMessage[], toolName: string, lookback?: number): boolean; export declare function extractPlannedToolNamesFromChineseText(text: string): string[]; export declare function detectUnexecutedToolIntents(messages: LLMMessage[], extraPatterns?: FollowUpPattern[], maxFollowUps?: number): TextActionFollowUp[]; export interface FollowUpGuardConfig { enabled: boolean; extraPatterns?: FollowUpPattern[]; maxFollowUps?: number; } export declare const DEFAULT_FOLLOW_UP_GUARD_CONFIG: FollowUpGuardConfig; export {}; //# sourceMappingURL=follow-up-guard.d.ts.map