import { Collection } from 'postman-collection';
import { IntegrationTestWriter, VariationWriter } from '.';
import { OasMappedOperation, OpenApiParser } from '../oas';
import { PostmanMappedOperation, PostmanParser } from '../postman';
import { AssignVariablesConfig, ContentTestConfig, ContractTestConfig, ExtendTestsConfig, IntegrationTestConfig, OperationPreRequestScriptConfig, OverwriteRequestConfig, PortmanConfig, PortmanOptions, PortmanReqTestType, PortmanTestType, TestSuiteOptions, Track, VariationTestConfig } from '../types';
export declare class TestSuite {
    collection: Collection;
    oasParser: OpenApiParser;
    postmanParser: PostmanParser;
    config: PortmanConfig;
    variationWriter: VariationWriter;
    integrationTestWriter: IntegrationTestWriter;
    contractTests?: ContractTestConfig[];
    contentTests?: ContentTestConfig[];
    variationTests?: VariationTestConfig[];
    integrationTests?: IntegrationTestConfig[];
    extendTests?: ExtendTestsConfig[];
    pmResponseJsonVarInjected: boolean;
    options?: PortmanOptions;
    requestTestTypes: PortmanReqTestType[];
    track: Track;
    constructor(testSuiteOptions: TestSuiteOptions);
    setupTests: () => void;
    generateContractTests: (pmOperations?: PostmanMappedOperation[], oaOperation?: OasMappedOperation, contractTests?: ContractTestConfig[], openApiResponseCode?: string, openApiContentType?: string) => void;
    generateVariationTests: () => void;
    generateIntegrationTests: () => void;
    getOperationsFromSetting(settings: ContractTestConfig | OverwriteRequestConfig | AssignVariablesConfig | ContentTestConfig | VariationTestConfig | OperationPreRequestScriptConfig): PostmanMappedOperation[];
    injectContractTests: (pmOperation: PostmanMappedOperation, oaOperation: OasMappedOperation, contractTest: ContractTestConfig, openApiResponseCode: string | undefined, openApiContentType?: string | undefined) => PostmanMappedOperation;
    injectContentTests: (pmOperations?: PostmanMappedOperation[], contentTests?: ContentTestConfig[]) => PostmanMappedOperation[];
    injectAssignVariables: (pmOperations?: PostmanMappedOperation[], assignVariables?: AssignVariablesConfig[]) => PostmanMappedOperation[];
    injectExtendedTests: (pmOperations?: PostmanMappedOperation[], extendedTestsSettings?: ExtendTestsConfig[]) => PostmanMappedOperation[];
    injectOverwrites: (pmOperations?: PostmanMappedOperation[], overwriteSettings?: OverwriteRequestConfig[]) => PostmanMappedOperation[];
    injectPreRequestScripts: (pmOperations?: PostmanMappedOperation[], preRequestSettings?: OperationPreRequestScriptConfig[]) => PostmanMappedOperation[];
    registerOperationTestType: (pmOperation: PostmanMappedOperation, operationTestType: PortmanTestType, update?: boolean) => void;
}
