///
import { EventEmitter } from 'events';
import * as mockttp from 'mockttp';
import { CompletedRequest } from 'mockttp';
import { IQueryParser } from './query/query-parser-interfaces';
import { IArbitraryData, IBody } from '@useoptic/optic-domain';
export interface IHttpToolkitCapturingProxyConfig {
proxyTarget?: string;
proxyPort: number;
host: string;
flags: {
includeJsonBody: boolean;
includeTextBody: boolean;
includeShapeHash: boolean;
includeQueryString: boolean;
};
hostnameFilter?: string;
queryParser: IQueryParser;
}
export interface IRequestFilter {
shouldSkip(request: CompletedRequest): boolean;
}
export declare const opticStatusPath = "/__optic_status";
export declare class HttpToolkitCapturingProxy {
private proxy;
private requests;
private config;
fingerprint: string | undefined;
readonly events: EventEmitter;
start(config: IHttpToolkitCapturingProxyConfig): Promise;
extractQueryParameters(req: mockttp.CompletedRequest): IArbitraryData;
extractBody(req: mockttp.CompletedRequest | mockttp.CompletedResponse): IBody;
stop(): Promise;
}
//# sourceMappingURL=httptoolkit-capturing-proxy.d.ts.map