import { CyHttpMessages, StaticResponse } from "cypress/types/net-stubbing"; import EnvComponentManager from "./EnvComponentManager"; import IncomingRequest = CyHttpMessages.IncomingRequest; import { LoggerInterface } from "./Logger"; interface RecordedResponse extends StaticResponse { insertAtIndex?: number; hasResponse?: boolean; } export type RequestMap = Map; export type RequestMapFixture = { [key: string]: RecordedResponse[]; }; export type ResponseMap = { [key: string]: RecordedResponse[]; }; export interface WrappedResponse { promise: Promise; response?: RecordedResponse; request: any; } export default class RequestCollection { private envComponentManager; private markReplayDone; requests: RequestMap; responses: ResponseMap; logger: LoggerInterface; replayDone: Promise; constructor(envComponentManager: EnvComponentManager, logger: LoggerInterface); pushReplayedRequest(promise: Promise): void; isDone(): boolean; checkDone(): void; appendFromFixture(fixture: RequestMapFixture): void; pushIncomingRequest(request: IncomingRequest, response: Promise): void; shiftRequest(request: IncomingRequest): RecordedResponse | null; resolveMap(): ResponseMap; } export {};