/** * Valid JSON primitive types. */ export declare type JsonPrimitive = (string | number | boolean | null | JsonPrimitive[] | { [key: string]: JsonPrimitive | undefined; }); /** * Function to generate mock responses dynamically. * Returned responses will be saved and passed as the `request` in subsequent calls. * * @param {JsonPrimitive} request - Payload/body passed in the network request. * @param {JsonPrimitive} response - Response object returned by the previous network call and modified by this same function. * @param {Object} queryParamMap - Key-value map of query parameters from the request URL. Hash content will be stored in 'hash' key. * @returns {JsonPrimitive} Dynamic response; will be saved for subsequent calls. */ export declare type DynamicResponseModFn = (request: JsonPrimitive, response: JsonPrimitive, queryParamMap: { [key: string]: string; }) => JsonPrimitive; /** * Mock configuration for a single URL. * * @type {Object} * @property {JsonPrimitive} [response=null] - Mock response to be returned. * If `dynamicResponseModFn` is defined, the value defined here will be * the first `response` argument passed into the function. * @property {DynamicResponseModFn} [dynamicResponseModFn=null] - Function to dynamically change the response object based on each request's contents. * @property {number} [delay=0] - Optional network mock resolution time. * @property {boolean} [usePathnameForAllQueries=false] - Optional flag to treat all URLs with the same pathname identically. * @property {Object} [responseProperties={}] - Custom properties to add to the mock response, e.g. `headers` object. */ export declare type MockResponseConfig = { response?: JsonPrimitive; dynamicResponseModFn?: DynamicResponseModFn; delay?: number; usePathnameForAllQueries?: boolean; responseProperties?: Record; };