///
import { IFetchOptions } from "rdf-test-suite/lib/Util";
import { IDataSource } from "../IDataSource";
import { LdfTestCaseEvaluation } from "../LdfTestCaseEvaluationHandler";
import * as HTTP from 'http';
export declare class LdfResponseMocker {
readonly proxyAddress: string;
private dummyServer;
private port;
private dataSources;
private whiteList;
private mockFetcher;
private options;
constructor(options: IFetchOptions, port?: number);
/**
* Temporarily set up a mocked server which will serve the mocked responses
* to the tested engine.
*/
setUpServer(): Promise;
protected forwardFetch(request: HTTP.IncomingMessage, response: HTTP.ServerResponse): Promise;
/**
* Tear the server down after quering, avoid spilling resources and leaving ports blocked.
*/
tearDownServer(): Promise;
/**
* Set up the server for the upcoming test datasources
*/
loadSources(dataSources: IDataSource[]): void;
/**
* Load the test, create the mockfetcher based on this test
* @param test The LdfTestCaseEvaluation the server will help to evaluate
*/
loadTest(test: LdfTestCaseEvaluation): void;
/**
* Fill the whitelist with sources which are allowed to pass through the proxy and shouldn't be mocked.
*/
fillWhiteList(): void;
/**
* Check if the dataSource is being whitelisted
* @param dataSource The datasource
*/
isWhiteListed(dataSource: string): boolean;
}