import { ConversationSelect, EvaluatorSelect } from "@inkeep/agents-core";

//#region src/domains/evals/services/EvaluationService.d.ts
declare class EvaluationService {
  private readonly manageApiBypassSecret;
  constructor();
  /**
   * Execute an evaluation by calling the LLM with the evaluator prompt and conversation data
   */
  executeEvaluation(params: {
    conversation: ConversationSelect;
    evaluator: EvaluatorSelect;
    tenantId: string;
    projectId: string;
    expectedOutput?: unknown;
  }): Promise<{
    output: any;
    metadata: Record<string, unknown>;
  }>;
  /**
   * Build evaluation prompt with agent definition, conversation history, trace, and expected output
   */
  private buildEvalInputEvaluationPrompt;
  /**
   * Call LLM API using AI SDK's generateText with structured output
   */
  private callLLM;
  private fetchTraceFromSigNoz;
  /**
   * Format conversation detail as prettified trace
   */
  private formatConversationAsPrettifiedTrace;
}
//#endregion
export { EvaluationService };