import { WireMockFault } from './externalTypes'; export interface IMockedRequestResponse { id: string; newScenarioState?: string; priority?: number; request: IRequestMock; requiredScenarioState?: string; response: IResponseMock; scenarioName?: string; uuid: number; } export interface IMockType { request: IRequestMock; response: IResponseMock; priority?: number; scenarioName?: string; requiredScenarioState?: string; newScenarioState?: string; postServeActions?: [IWebhook]; metadata?: Record; } export interface IMappingGetResponse { mappings: unknown[]; } export interface IRequestGetResponse { requests: unknown[]; } export interface IRequestMock { method: Method; [key: string]: unknown; } export type IResponseMock = { status: number; headers?: Record; fixedDelayMilliseconds?: number; delayDistribution?: Record; chunkedDribbleDelay?: Record; transformers?: string[]; [key: string]: unknown; } | { fault: WireMockFault; }; export interface IScenarioGetResponse { scenarios: unknown[]; } export interface IWebhook { name: 'webhook'; parameters: { method: Method; url: string; headers?: Record; body?: string; delay?: Record; }; } export type KeyValue = boolean | number | string; export type Method = 'ANY' | 'CONNECT' | 'DELETE' | 'GET' | 'HEAD' | 'OPTIONS' | 'PATCH' | 'POST' | 'PUT' | 'TRACE'; export type WebhookBody = { type: 'JSON'; data: Record; } | { type: 'String'; data: string; };