//#region src/integrations/anthropic-managed.d.ts
/**
 * Anthropic Managed Agents integration for @amplitude/ai.
 *
 * Provides {@link ManagedAgentTracker} — a convenience adapter that
 * processes events from Anthropic's Managed Agents API
 * (`client.beta.sessions`) and automatically emits the correct
 * Amplitude `[Agent] *` events.
 *
 * @example
 * ```typescript
 * import { AmplitudeAI } from '@amplitude/ai';
 * import { ManagedAgentTracker } from '@amplitude/ai/integrations/anthropic-managed';
 *
 * const ai = new AmplitudeAI({ apiKey: '...' });
 * const agent = ai.agent('my-agent');
 * const tracker = new ManagedAgentTracker();
 *
 * const session = agent.session({ userId: 'u1' });
 * await session.run(async (s) => {
 *   tracker.processEvents(s, eventsFromPolling);
 * });
 * ```
 */
interface ManagedAgentTrackerOptions {
  defaultProvider?: string;
  defaultModel?: string;
}
interface ManagedAgentEvent {
  type?: string;
  role?: string;
  content?: unknown;
  model?: string;
  name?: string;
  input?: unknown;
  output?: unknown;
  usage?: {
    input_tokens?: number;
    output_tokens?: number;
    cost?: number;
  };
  latency_ms?: number;
  duration_ms?: number;
  is_error?: boolean;
  tool_use_id?: string;
}
interface SessionLike {
  trackUserMessage(content: string, opts?: Record<string, unknown>): string;
  trackAiMessage(content: string, model: string, provider: string, latencyMs: number, opts?: Record<string, unknown>): string;
  trackToolCall(toolName: string, latencyMs: number, success: boolean, opts?: Record<string, unknown>): string;
}
declare class ManagedAgentTracker {
  private _defaultProvider;
  private _defaultModel;
  constructor(options?: ManagedAgentTrackerOptions);
  /**
   * Process a sequence of Anthropic managed agent events.
   *
   * @param session - An active `@amplitude/ai` Session (from `agent.session()`)
   * @param events - Events from `client.beta.sessions.messages.list()` or similar
   * @param pollLatencyMs - Optional latency of the poll request
   * @returns Number of events processed
   */
  processEvents(session: SessionLike, events: ReadonlyArray<ManagedAgentEvent | Record<string, unknown>>, pollLatencyMs?: number): number;
  private _processSingle;
}
//#endregion
export { ManagedAgentTracker, ManagedAgentTrackerOptions };
//# sourceMappingURL=anthropic-managed.d.ts.map