import type { ToolCallRepairFunction, ToolSet } from 'ai'; export declare const DEFAULT_LOOP_REMIND_AT = 3; export declare const DEFAULT_LOOP_BLOCK_AT = 8; export type LoopGuardVerdict = { action: 'allow'; count: number; } | { action: 'remind'; count: number; message: string; } | { action: 'block'; count: number; message: string; }; export type LoopGuardInit = { remindAt?: number; blockAt?: number; }; export declare class ToolCallLoopTracker { private readonly counts; private readonly remindAt; private readonly blockAt; constructor(init?: LoopGuardInit); record(toolName: string, input: unknown): LoopGuardVerdict; reset(): void; } export type GuardedTools = { tools: T; reset: () => void; }; export declare function withLoopGuard(tools: T, init?: LoopGuardInit): GuardedTools; export type ToolNameResolution = { kind: 'resolved'; toolName: string; } | { kind: 'unknown'; message: string; }; export type ToolCallRepairInit = { aliases?: Readonly>; }; export declare function resolveToolName(requested: string, available: readonly string[], aliases?: Readonly>): ToolNameResolution; export declare function unknownToolMessage(requested: string, available: readonly string[]): string; export declare function makeToolCallRepairer(init?: ToolCallRepairInit): ToolCallRepairFunction;