import { StartTestRunRequestDto } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import { TestCaseExecutionRepository, TestRunRepository } from '@n8n/db';
import express from 'express';
import { TestRunnerService } from '../evaluation.ee/test-runner/test-runner.service.ee';
import { TestRunsRequest } from '../evaluation.ee/test-runs.types.ee';
import { PostHogClient } from '../posthog';
import { Telemetry } from '../telemetry';
import { WorkflowFinderService } from '../workflows/workflow-finder.service';
export declare class TestRunsController {
    private readonly testRunRepository;
    private readonly workflowFinderService;
    private readonly testCaseExecutionRepository;
    private readonly testRunnerService;
    private readonly telemetry;
    private readonly postHogClient;
    private readonly logger;
    constructor(testRunRepository: TestRunRepository, workflowFinderService: WorkflowFinderService, testCaseExecutionRepository: TestCaseExecutionRepository, testRunnerService: TestRunnerService, telemetry: Telemetry, postHogClient: PostHogClient, logger: Logger);
    private isParallelExecutionFlagEnabled;
    private assertUserHasAccessToWorkflow;
    private getTestRun;
    getMany(req: TestRunsRequest.GetMany): Promise<{
        finalResult: import("@n8n/db").TestRunFinalResult | null;
        status: import("@n8n/db/dist/entities/test-run.ee").TestRunStatus;
        runAt: Date | null;
        completedAt: Date | null;
        metrics: import("@n8n/db").AggregatedTestRunMetrics;
        errorCode: import("@n8n/db").TestRunErrorCode | null;
        errorDetails: import("n8n-workflow").IDataObject | null;
        workflow: import("@n8n/db").WorkflowEntity;
        workflowId: string;
        runningInstanceId: string | null;
        cancelRequested: boolean;
        id: string;
        createdAt: Date;
        updatedAt: Date;
    }[]>;
    getOne(req: TestRunsRequest.GetOne): Promise<import("@n8n/db/dist/repositories/test-run.repository.ee").TestRunSummary>;
    getTestCases(req: TestRunsRequest.GetCases): Promise<import("@n8n/db").TestCaseExecution[]>;
    delete(req: TestRunsRequest.Delete): Promise<{
        success: boolean;
    }>;
    cancel(req: TestRunsRequest.Cancel, res: express.Response): Promise<void>;
    cancelCase(req: TestRunsRequest.CancelCase): Promise<{
        success: boolean;
    }>;
    create(req: TestRunsRequest.Create, res: express.Response, payload: StartTestRunRequestDto): Promise<void>;
}
