import { S as ServiceTag, L as Layer, a as LayerContext } from '../layer-CsNGeVee.js'; import { A as Async } from '../effect-DbEMiMvv.js'; import { D as DefaultHttpClient, H as HttpRequest, a as HttpClient, b as HttpWireResponse, c as HttpError } from '../defaultClient-DLOa3gdw.js'; import '../stream-B8c_UKZq.js'; import '../schema/index.js'; type HttpTestResponseInit = { readonly status?: number; readonly statusText?: string; readonly headers?: Record; readonly ms?: number; }; type MockHttpHandler = (req: HttpRequest, index: number) => HttpWireResponse | Async; type MockHttpClient = HttpClient & { readonly calls: () => readonly HttpRequest[]; readonly calledTimes: () => number; readonly lastRequest: () => HttpRequest | undefined; readonly reset: () => void; }; type MockDefaultHttpClient = DefaultHttpClient & { readonly calls: () => readonly HttpRequest[]; readonly calledTimes: () => number; readonly lastRequest: () => HttpRequest | undefined; readonly reset: () => void; }; type MockDefaultHttpClientLayerOptions = { readonly tag?: ServiceTag; }; type MockFetchCall = { readonly input: RequestInfo | URL; readonly init?: RequestInit; }; type MockFetchHandler = (input: RequestInfo | URL, init: RequestInit | undefined, index: number) => Response | Promise; type MockFetchController = { readonly fetch: typeof fetch; readonly calls: () => readonly MockFetchCall[]; readonly calledTimes: () => number; readonly lastCall: () => MockFetchCall | undefined; readonly restore: () => void; }; declare function makeHttpResponse(bodyText?: string, init?: HttpTestResponseInit): HttpWireResponse; declare function makeTextHttpResponse(bodyText: string, init?: HttpTestResponseInit): HttpWireResponse; declare function makeJsonHttpResponse(body: unknown, init?: HttpTestResponseInit): HttpWireResponse; declare function makeMockHttpClient(handler?: MockHttpHandler): MockHttpClient; declare function makeSequenceHttpClient(responses: readonly HttpWireResponse[], fallback?: HttpWireResponse): MockHttpClient; declare function makeMockDefaultHttpClient(handler?: MockHttpHandler): MockDefaultHttpClient; declare function makeMockDefaultHttpClientLayer(handler?: MockHttpHandler, options?: MockDefaultHttpClientLayerOptions): Layer; declare function runHttpEffect(effect: Async, env?: unknown): Promise; declare function makeFetchResponse(body?: BodyInit | null, init?: ResponseInit): Response; declare function makeJsonFetchResponse(body: unknown, init?: ResponseInit): Response; declare function installMockFetch(handler: MockFetchHandler): MockFetchController; declare function withMockFetch(handler: MockFetchHandler, run: (mock: MockFetchController) => Promise | A): Promise; export { type HttpTestResponseInit, type MockDefaultHttpClient, type MockDefaultHttpClientLayerOptions, type MockFetchCall, type MockFetchController, type MockFetchHandler, type MockHttpClient, type MockHttpHandler, installMockFetch, makeFetchResponse, makeHttpResponse, makeJsonFetchResponse, makeJsonHttpResponse, makeMockDefaultHttpClient, makeMockDefaultHttpClientLayer, makeMockHttpClient, makeSequenceHttpClient, makeTextHttpResponse, runHttpEffect, withMockFetch };