import { ISerializedRequest, ISerializedRequestResponse, ISerializedResponse } from '../http-serializer'; export declare type RequestQuery = { [P in keyof ISerializedRequest]?: ISerializedRequest[P] | RegExp; }; export declare type ResponseQuery = { [P in keyof ISerializedResponse]?: ISerializedResponse[P] | RegExp; }; export interface ISerializedHttpPartialDeepMatch { url?: string | RegExp; request?: RequestQuery; response?: ResponseQuery; } export interface ISerializedRequestResponseToMatch { request: ISerializedRequest; response?: ISerializedResponse; } export declare type MatchFn = (serialized: ISerializedRequestResponse) => boolean; export declare type UnsafeMatchFn = (serialized: ISerializedRequestResponseToMatch) => boolean; export declare type Matcher = ISerializedHttpPartialDeepMatch | MatchFn; export declare const EMPTY_RESPONSE: { body: {}; headers: {}; statusCode: number; }; /** * Curried function to determine whether a query matches an intercepted request. * * Query objects must be a deep partial match against the intercepted request. * * RegEx values are tested for match. */ export declare function match(fnOrPartialMatch: ISerializedHttpPartialDeepMatch | MatchFn): UnsafeMatchFn;