/** * HTTP Client Mock Factory - Replaced with MSW (Mock Service Worker) * * Migration Guide: * - Use MSW directly: setupServer() from msw/node * - MockResponse -> HttpResponse.json() from msw * - Better browser and Node.js compatibility * * Benefits of MSW: * - Industry standard for API mocking * - Service Worker technology for realistic interception * - First-class request/response matching * - TypeScript support out of box */ import { HttpResponse } from 'msw'; export type MockStrategy = 'legacy-axios' | 'msw-modern' | 'simple-axios' | 'user-configurable'; export interface MockHttpClientConfig { strategy?: MockStrategy; baseUrl?: string; defaultHeaders?: Record; timeout?: number; } export interface MockResponse { data?: any; status: number; headers?: Record; } export interface AxiosResponse { data: any; status: number; headers: Record; config?: any; } export interface UserMockAxios { get: (url: string) => Promise; post: (url: string, data?: any) => Promise; put: (url: string, data?: any) => Promise; delete: (url: string) => Promise; __set: (data: Record) => void; } export interface MockHttpClient { get: (url: string) => Promise; post: (url: string, data?: any) => Promise; put: (url: string, data?: any) => Promise; delete: (url: string) => Promise; } /** * Create mock response using MSW HttpResponse */ export declare function createMockResponse(data: any, status?: number, headers?: Record): HttpResponse; /** * Create error response using MSW HttpResponse */ export declare function createErrorResponse(message: string, status?: number): HttpResponse; /** * Main HTTP client mock factory */ export declare function createMockHttpClient(config?: MockHttpClientConfig): MockHttpClient; /** * Create a user-configurable mock axios instance */ export declare function createUserConfigurableMock(presetData?: Record): UserMockAxios; /** * Create a simple mock HTTP client for basic usage */ export declare function createSimpleMockClient(defaultData?: any): MockHttpClient; /** * Create a mock server with custom response patterns */ export declare function createCustomMockServer(responsePatterns: Array<{ method: string; url: string | RegExp; response: MockResponse; }>): { server: any; cleanup: () => void; }; export declare const httpClientMockFactory: { create: typeof createMockHttpClient; createUserMock: typeof createUserConfigurableMock; createSimple: typeof createSimpleMockClient; createCustomServer: typeof createCustomMockServer; createMockResponse: typeof createMockResponse; createErrorResponse: typeof createErrorResponse; }; export default httpClientMockFactory; //# sourceMappingURL=httpClientMockFactory.d.ts.map