import { WebSocket } from 'mock-socket'; import { OutgoingRequest, RequestSuccessResponse, RequestErrorResponse } from '../../types/api_internal.js'; import { EventEmitter } from 'events'; import { LoggerOptions } from '../../NodeSocket.js'; interface MockFunctionCreator { fn: (...args: any[]) => any; } type RequestCallback = (requestData: object) => void; type DelayF = () => number; export interface MockServerOptions { url: string; reportMissingListeners?: boolean; mockF: MockFunctionCreator; delayMs: number | DelayF; loggerOptions: LoggerOptions; } type MockRequestResponseDataObject = Omit, 'callback_id'> | Omit; type MockRequestResponseDataHandler = (request: OutgoingRequest, s: WebSocket) => MockRequestResponseDataObject; declare const getMockServer: (initialOptions?: Partial) => { addRequestHandler: (method: string, path: string, data?: DataT | MockRequestResponseDataHandler, subscriptionCallback?: RequestCallback) => () => EventEmitter<[never]>; addErrorHandler: (method: string, path: string, errorStr: string | null, errorCode: number, subscriptionCallback?: RequestCallback) => () => EventEmitter<[never]>; addSubscriptionHandler: (moduleName: string, listenerName: string, entityId?: string | number) => { fire: (data: object, entityId?: string | number) => void; remove: () => void; subscribeFn: any; unsubscribeFn: any; path: string; }; addHookHandler: (moduleName: string, listenerName: string) => { fire: (data: object, entityId?: string | number) => void; remove: () => void; subscribeFn: any; unsubscribeFn: any; path: string; addResolver: (completionId: number) => { fire: (data: object) => void; remove: () => void; resolveFn: any; rejectFn: any; }; }; ignoreMissingHandler: (method: string, path: string) => () => EventEmitter<[never]>; stop: () => void; send: (data: object) => void; url: string; }; export { getMockServer };