import Dispatcher from './dispatcher' declare namespace MockCallHistoryLog { /** request's configuration properties */ export type MockCallHistoryLogProperties = 'protocol' | 'host' | 'port' | 'origin' | 'path' | 'hash' | 'fullUrl' | 'method' | 'searchParams' | 'body' | 'headers' } /** a log reflecting request configuration */ declare class MockCallHistoryLog { constructor (requestInit: Dispatcher.DispatchOptions) /** protocol used. ie. 'https:' or 'http:' etc... */ protocol: string /** request's host. */ host: string /** request's port. */ port: string /** request's origin. ie. https://localhost:3000. */ origin: string /** path. never contains searchParams. */ path: string /** request's hash. */ hash: string /** the full url requested. */ fullUrl: string /** request's method. */ method: string /** search params. */ searchParams: Record /** request's body */ body: string | null | undefined /** request's headers */ headers: Record | null | undefined /** returns an Map of property / value pair */ toMap (): Map | null | undefined> /** returns a string computed with all key value pair */ toString (): string } declare namespace MockCallHistory { export type FilterCallsOperator = 'AND' | 'OR' /** modify the filtering behavior */ export interface FilterCallsOptions { /** the operator to apply when filtering. 'OR' will adds any MockCallHistoryLog matching any criteria given. 'AND' will adds only MockCallHistoryLog matching every criteria given. (default 'OR') */ operator?: FilterCallsOperator | Lowercase } /** a function to be executed for filtering MockCallHistoryLog */ export type FilterCallsFunctionCriteria = (log: MockCallHistoryLog) => boolean /** parameter to filter MockCallHistoryLog */ export type FilterCallsParameter = string | RegExp | undefined | null /** an object to execute multiple filtering at once */ export interface FilterCallsObjectCriteria extends Record { /** filter by request protocol. ie https: */ protocol?: FilterCallsParameter; /** filter by request host. */ host?: FilterCallsParameter; /** filter by request port. */ port?: FilterCallsParameter; /** filter by request origin. */ origin?: FilterCallsParameter; /** filter by request path. */ path?: FilterCallsParameter; /** filter by request hash. */ hash?: FilterCallsParameter; /** filter by request fullUrl. */ fullUrl?: FilterCallsParameter; /** filter by request method. */ method?: FilterCallsParameter; } } /** a call history to track requests configuration */ declare class MockCallHistory { constructor (name: string) /** returns an array of MockCallHistoryLog. */ calls (): Array /** returns the first MockCallHistoryLog */ firstCall (): MockCallHistoryLog | undefined /** returns the last MockCallHistoryLog. */ lastCall (): MockCallHistoryLog | undefined /** returns the nth MockCallHistoryLog. */ nthCall (position: number): MockCallHistoryLog | undefined /** return all MockCallHistoryLog matching any of criteria given. if an object is used with multiple properties, you can change the operator to apply during filtering on options */ filterCalls (criteria: MockCallHistory.FilterCallsFunctionCriteria | MockCallHistory.FilterCallsObjectCriteria | RegExp, options?: MockCallHistory.FilterCallsOptions): Array /** return all MockCallHistoryLog matching the given protocol. if a string is given, it is matched with includes */ filterCallsByProtocol (protocol: MockCallHistory.FilterCallsParameter): Array /** return all MockCallHistoryLog matching the given host. if a string is given, it is matched with includes */ filterCallsByHost (host: MockCallHistory.FilterCallsParameter): Array /** return all MockCallHistoryLog matching the given port. if a string is given, it is matched with includes */ filterCallsByPort (port: MockCallHistory.FilterCallsParameter): Array /** return all MockCallHistoryLog matching the given origin. if a string is given, it is matched with includes */ filterCallsByOrigin (origin: MockCallHistory.FilterCallsParameter): Array /** return all MockCallHistoryLog matching the given path. if a string is given, it is matched with includes */ filterCallsByPath (path: MockCallHistory.FilterCallsParameter): Array /** return all MockCallHistoryLog matching the given hash. if a string is given, it is matched with includes */ filterCallsByHash (hash: MockCallHistory.FilterCallsParameter): Array /** return all MockCallHistoryLog matching the given fullUrl. if a string is given, it is matched with includes */ filterCallsByFullUrl (fullUrl: MockCallHistory.FilterCallsParameter): Array /** return all MockCallHistoryLog matching the given method. if a string is given, it is matched with includes */ filterCallsByMethod (method: MockCallHistory.FilterCallsParameter): Array /** clear all MockCallHistoryLog on this MockCallHistory. */ clear (): void /** use it with for..of loop or spread operator */ [Symbol.iterator]: () => Generator } export { MockCallHistoryLog, MockCallHistory }