import type { Request, Response } from 'express';
import type { DonobuFlowsManager } from '../managers/DonobuFlowsManager';
import type { TestsManager } from '../managers/TestsManager';
/**
 * API controller for managing tests.
 */
export declare class TestsApi {
    private readonly testsManager;
    private readonly flowsManager;
    constructor(testsManager: TestsManager, flowsManager: DonobuFlowsManager);
    /**
     * GET /api/tests — list tests with optional filtering and pagination.
     */
    getTests(req: Request, res: Response): Promise<void>;
    /**
     * POST /api/tests — create a new test.
     */
    createTest(req: Request, res: Response): Promise<void>;
    /**
     * GET /api/tests/:testId — get a test by ID.
     */
    getTest(req: Request, res: Response): Promise<void>;
    /**
     * PUT /api/tests/:testId — update an existing test.
     */
    updateTest(req: Request, res: Response): Promise<void>;
    /**
     * DELETE /api/tests/:testId — delete a test and all its flows.
     */
    deleteTest(req: Request, res: Response): Promise<void>;
    /**
     * GET /api/tests/:testId/flows — list flows for a test.
     */
    getTestFlows(req: Request, res: Response): Promise<void>;
    /**
     * POST /api/tests/:testId/run — execute a test (create a new flow from it).
     */
    runTest(req: Request, res: Response): Promise<void>;
}
//# sourceMappingURL=TestsApi.d.ts.map