import { AmplitudeAI } from "../client.js";

//#region src/integrations/anthropic-tools.d.ts

interface ToolLoopOptions {
  amplitudeAI: AmplitudeAI;
  userId?: string;
  sessionId?: string;
  agentId?: string;
  env?: string;
  maxTurns?: number;
}
declare class AmplitudeToolLoop {
  private _ai;
  private _userId;
  private _sessionId;
  private _agentId;
  private _env;
  private _maxTurns;
  constructor(options: ToolLoopOptions);
  /**
   * Run a tool loop with the Anthropic API.
   *
   * This method orchestrates multi-turn tool_use conversations,
   * tracking each AI response and tool call along the way.
   */
  run(options: {
    client: unknown;
    model: string;
    messages: Array<Record<string, unknown>>;
    tools: Array<Record<string, unknown>>;
    system?: string;
    toolExecutor: (name: string, input: Record<string, unknown>) => Promise<unknown>;
  }): Promise<Array<Record<string, unknown>>>;
}
//#endregion
export { AmplitudeToolLoop, ToolLoopOptions };
//# sourceMappingURL=anthropic-tools.d.ts.map