import type { AgentEvalDatasetRecord, AgentEvalRunDetail, AgentEvalRunList, AgentEvalRunRecord, AgentEvalRunSummary, CreateAgentEvalDatasetDto, CreateAgentEvalRunPayload, GenerateDraftCasesOptions, GenerateDraftCasesResult, UpdateAgentEvalDatasetPayload } from '@n8n/api-types';
import { ModuleRegistry } from '@n8n/backend-common';
import type { User } from '@n8n/db';
import { AgentEvalDatasetRepository, AgentEvalResultRepository, AgentEvalRunRepository } from '@n8n/db';
import { AgentRepository } from '../../modules/agents/repositories/agent.repository';
import { AgentEvalCaseGenerationService } from './agent-eval-case-generation.service';
import { AgentEvalRunnerService } from './agent-eval-runner.service';
type PageParams = {
    take: number;
    skip: number;
};
export declare class AgentEvalService {
    private readonly moduleRegistry;
    private readonly agentRepository;
    private readonly datasetRepository;
    private readonly runRepository;
    private readonly resultRepository;
    private readonly runner;
    private readonly caseGenerationService;
    constructor(moduleRegistry: ModuleRegistry, agentRepository: AgentRepository, datasetRepository: AgentEvalDatasetRepository, runRepository: AgentEvalRunRepository, resultRepository: AgentEvalResultRepository, runner: AgentEvalRunnerService, caseGenerationService: AgentEvalCaseGenerationService);
    listDatasets(agentId: string, projectId: string): Promise<AgentEvalDatasetRecord[]>;
    getDataset(agentId: string, projectId: string, datasetId: string): Promise<AgentEvalDatasetRecord>;
    createDataset(user: User, agentId: string, projectId: string, payload: CreateAgentEvalDatasetDto): Promise<AgentEvalDatasetRecord>;
    updateDataset(agentId: string, projectId: string, datasetId: string, payload: UpdateAgentEvalDatasetPayload): Promise<AgentEvalDatasetRecord>;
    deleteDataset(agentId: string, projectId: string, datasetId: string): Promise<void>;
    generateDraftCases(user: User, agentId: string, projectId: string, options: GenerateDraftCasesOptions): Promise<GenerateDraftCasesResult>;
    startRun(user: User, agentId: string, projectId: string, datasetId: string, payload: CreateAgentEvalRunPayload): Promise<AgentEvalRunRecord>;
    listRuns(agentId: string, projectId: string, datasetId: string, page: PageParams): Promise<AgentEvalRunList>;
    getRunDetail(agentId: string, projectId: string, runId: string, page: PageParams): Promise<AgentEvalRunDetail>;
    getRunSummary(agentId: string, projectId: string, runId: string): Promise<AgentEvalRunSummary>;
    cancelRun(agentId: string, projectId: string, runId: string): Promise<AgentEvalRunRecord>;
    private assertAgentInProject;
    private resolveDataset;
    private resolveRun;
}
export {};
