import { AgentEvalRunDetailQueryDto, CreateAgentEvalRatingDto, CreateAgentEvalRunDto, GenerateDraftCasesOptionsDto, PaginationDto, UpdateAgentEvalDatasetDto, type AgentEvalDatasetRecord, type AgentEvalRatingRecord, type AgentEvalRunDetail, type AgentEvalRunList, type AgentEvalRunRecord, type AgentEvalRunSummary, type GenerateDraftCasesResult } from '@n8n/api-types';
import type { AuthenticatedRequest } from '@n8n/db';
import { AgentEvalRatingService } from './agent-eval-rating.service';
import { AgentEvalService } from './agent-eval.service';
import { AgentEvalsFlagGate } from './agent-evals-flag-gate';
type AgentParam = {
    projectId: string;
    agentId: string;
};
type DatasetParam = AgentParam & {
    datasetId: string;
};
type RunParam = AgentParam & {
    runId: string;
};
type ResultParam = AgentParam & {
    resultId: string;
};
export declare class AgentEvalsController {
    private readonly service;
    private readonly ratingService;
    private readonly flagGate;
    constructor(service: AgentEvalService, ratingService: AgentEvalRatingService, flagGate: AgentEvalsFlagGate);
    listDatasets(req: AuthenticatedRequest<AgentParam>): Promise<AgentEvalDatasetRecord[]>;
    createDataset(req: AuthenticatedRequest<AgentParam>): Promise<AgentEvalDatasetRecord>;
    getDataset(req: AuthenticatedRequest<DatasetParam>): Promise<AgentEvalDatasetRecord>;
    updateDataset(req: AuthenticatedRequest<DatasetParam>, _res: unknown, payload: UpdateAgentEvalDatasetDto): Promise<AgentEvalDatasetRecord>;
    deleteDataset(req: AuthenticatedRequest<DatasetParam>): Promise<{
        success: true;
    }>;
    generateDraftCases(req: AuthenticatedRequest<AgentParam>, _res: unknown, payload: GenerateDraftCasesOptionsDto): Promise<GenerateDraftCasesResult>;
    startRun(req: AuthenticatedRequest<DatasetParam>, _res: unknown, payload: CreateAgentEvalRunDto): Promise<AgentEvalRunRecord>;
    listRuns(req: AuthenticatedRequest<DatasetParam>, _res: unknown, query: PaginationDto): Promise<AgentEvalRunList>;
    getRun(req: AuthenticatedRequest<RunParam>, _res: unknown, query: AgentEvalRunDetailQueryDto): Promise<AgentEvalRunDetail>;
    getRunSummary(req: AuthenticatedRequest<RunParam>): Promise<AgentEvalRunSummary>;
    cancelRun(req: AuthenticatedRequest<RunParam>): Promise<AgentEvalRunRecord>;
    rateResult(req: AuthenticatedRequest<ResultParam>, _res: unknown, payload: CreateAgentEvalRatingDto): Promise<AgentEvalRatingRecord>;
    listRatingsForResult(req: AuthenticatedRequest<ResultParam>): Promise<AgentEvalRatingRecord[]>;
    listLatestRatingsForRun(req: AuthenticatedRequest<RunParam>): Promise<AgentEvalRatingRecord[]>;
}
export {};
