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

//#region src/integrations/llamaindex.d.ts

interface LlamaIndexHandlerOptions {
  amplitudeAI: AmplitudeAI;
  userId?: string;
  sessionId?: string;
  agentId?: string;
  env?: string;
}
declare class AmplitudeLlamaIndexHandler {
  private _ai;
  private _userId;
  private _sessionId;
  private _agentId;
  private _env;
  private _startTimes;
  constructor(options: LlamaIndexHandlerOptions);
  private _getContext;
  onLLMStart(eventId: string): void;
  onLLMEnd(eventId: string, response: {
    content?: string;
    model?: string;
    inputTokens?: number;
    outputTokens?: number;
  }): void;
  onEmbeddingStart(eventId: string): void;
  onEmbeddingEnd(eventId: string, response: {
    model?: string;
    inputTokens?: number;
    dimensions?: number;
  }): void;
  onToolStart(eventId: string): void;
  onToolEnd(eventId: string, response: {
    toolName?: string;
    output?: unknown;
    success?: boolean;
  }): void;
}
declare function createAmplitudeLlamaIndexHandler(options: LlamaIndexHandlerOptions): AmplitudeLlamaIndexHandler;
//#endregion
export { AmplitudeLlamaIndexHandler, LlamaIndexHandlerOptions, createAmplitudeLlamaIndexHandler };
//# sourceMappingURL=llamaindex.d.ts.map