import PQueue from 'p-queue';
import { TestOptions, RetryConfig, TestReport, TestScenario } from './types';
/**
 * Helper function to filter scenarios based on tags and scenario numbers
 */
export declare function filterScenarios(scenarios: TestScenario[], tags?: string[], scenarioNumbers?: string): TestScenario[];
/**
 * Create a queue for processing files in parallel
 */
export declare function createFileProcessingQueue(options: TestOptions, globalStats: {
    totalFiles: number;
    completedFiles: number;
    totalScenarios: number;
    completedScenarios: number;
    passedScenarios: number;
    failedScenarios: number;
    totalExecutionTime: number;
}): PQueue;
/**
 * Process a single feature file and return its report
 */
export declare function processFeatureFile(file: string, options: TestOptions, commonConfig: {
    provider: 'anthropic' | 'openrouter';
    model: string;
    branchOutputDir: string;
    branch: string;
    timeout: number;
    retryConfig: RetryConfig;
    debug: boolean;
    mcpServers: string[];
    tags?: string[];
}, globalStats: {
    totalFiles: number;
    completedFiles: number;
    totalScenarios: number;
    completedScenarios: number;
    passedScenarios: number;
    failedScenarios: number;
    totalExecutionTime: number;
}, outputCallback: (output: string) => Promise<void>): Promise<{
    file: string;
    report: TestReport | null;
}>;
