import { Action } from "./actions"; import { ContextMatcher } from "./context-matchers"; import { Response } from "./Response"; import { MatchResult } from "./value-matchers"; import { ExpectationValue } from "./Values"; declare type RespondValue = Response | string | object; export declare type RespondInput = RespondValue | RespondFactory; declare type RespondFactory = (ctx: ExpectationValue) => RespondValue | Promise; export declare type ContextMatcherInput = ContextMatcher | ContextMatcherFactory | string; declare type ContextMatcherFactory = (ctx: ExpectationValue) => MatchResult | ContextMatcher; export declare type ActionInput = Action | ActionFactory; declare type ActionFactory = (ctx: ExpectationValue) => Action | void; export interface ExpectationConfig { afterRespondActions: ActionInput[]; id?: string; next: boolean; respondInput?: RespondInput; times?: number; verifyFailedRespondInput?: RespondInput; verifyMatchers: ContextMatcherInput[]; whenMatchers: ContextMatcherInput[]; } export declare function expect(...matchers: ContextMatcherInput[]): Expectation; export declare class Expectation { private _config; constructor(...matchers: ContextMatcherInput[]); id(id: string): this; times(times: number): this; verify(...matchers: ContextMatcherInput[]): this; verifyFailedRespond(input: RespondInput): this; respond(code?: number): this; respond(code?: number, input?: RespondInput): this; respond(input?: RespondInput): this; afterRespond(...actions: ActionInput[]): this; next(): this; getConfig(): ExpectationConfig; } export {};