import { Collection, Item, ItemGroup } from 'postman-collection';
import { OasMappedOperation } from 'src/oas';
import { PostmanMappedOperation } from '../postman';
import { IntegrationTest, OverwriteRequestConfig, VariationConfig, VariationTestConfig } from '../types';
import { TestSuite } from './';
import { Fuzzer } from './Fuzzer';
export type VariationWriterOptions = {
    testSuite: TestSuite;
    variationFolderName: string;
};
export declare class VariationWriter {
    testSuite: TestSuite;
    fuzzer: Fuzzer;
    variationFolder: ItemGroup<Item>;
    variationCollection: Collection;
    operationFolders: Record<string, string>;
    overwriteMap: Record<string, OverwriteRequestConfig[]>;
    constructor(options: VariationWriterOptions);
    add(pmOperation: PostmanMappedOperation, oaOperation: OasMappedOperation | null, variation: VariationTestConfig, name?: string): void;
    mergeToCollection(collection: Collection): Collection;
    addToLocalCollection(operationVariation: PostmanMappedOperation, folderId: string | null, folderName: string | null): void;
    addToFolder(operationVariation: PostmanMappedOperation, folder: ItemGroup<Item>): void;
    injectVariations(pmOperation: PostmanMappedOperation, oaOperation: OasMappedOperation | null, variation: VariationConfig, variationMeta: VariationTestConfig | IntegrationTest | null): void;
}
