import { type TestCaseWithPlugin } from '../types';
import type { RedteamStrategyObject, SynthesizeOptions } from './types';
/**
 * Resolves top-level file paths in the plugin configuration.
 * @param config - The plugin configuration to resolve.
 * @returns The resolved plugin configuration.
 */
export declare function resolvePluginConfig(config: Record<string, any> | undefined): Record<string, any>;
/**
 * Helper function to get the test count based on strategy configuration.
 * @param strategy - The strategy object to evaluate.
 * @param totalPluginTests - The total number of plugin tests.
 * @param strategies - The array of strategies.
 * @returns The calculated test count.
 */
export declare function getTestCount(strategy: RedteamStrategyObject, totalPluginTests: number, strategies: RedteamStrategyObject[]): number;
/**
 * Synthesizes test cases based on provided options.
 * @param options - The options for test case synthesis.
 * @returns A promise that resolves to an object containing the purpose, entities, and test cases.
 */
export declare function synthesize({ entities: entitiesOverride, injectVar, language, maxConcurrency, plugins, prompts, provider, purpose: purposeOverride, strategies, delay, abortSignal, }: SynthesizeOptions): Promise<{
    purpose: string;
    entities: string[];
    testCases: TestCaseWithPlugin[];
}>;
//# sourceMappingURL=index.d.ts.map