import { SetupServer } from 'msw/node'; import { JsonBodyType } from 'msw'; declare function convertArrayToAsyncIterable(values: T[]): AsyncIterable; declare function convertArrayToReadableStream(values: T[]): ReadableStream; declare function convertAsyncIterableToArray(iterable: AsyncIterable): Promise; declare function convertReadableStreamToArray(stream: ReadableStream): Promise; declare function convertResponseStreamToArray(response: Response): Promise; /** * @deprecated Use createTestServer instead */ declare class JsonTestServer { readonly server: SetupServer; responseHeaders: Record; responseBodyJson: any; request: Request | undefined; /** * @deprecated Use createTestServer instead */ constructor(url: string); getRequestBodyJson(): Promise; getRequestHeaders(): Promise>; getRequestUrlSearchParams(): Promise; getRequestUrl(): Promise; setupTestEnvironment(): void; } declare function mockId({ prefix, }?: { prefix?: string; }): () => string; /** * @deprecated Use createTestServer instead */ declare class StreamingTestServer { readonly server: SetupServer; responseHeaders: Record; responseChunks: any[]; request: Request | undefined; /** * @deprecated Use createTestServer instead */ constructor(url: string); getRequestBodyJson(): Promise; getRequestHeaders(): Promise>; getRequestUrlSearchParams(): Promise; setupTestEnvironment(): void; } type TestServerJsonBodyType = JsonBodyType; type TestServerResponse = { url: string; headers?: Record; } & ({ type: 'json-value'; content: TestServerJsonBodyType; } | { type: 'stream-values'; content: Array; } | { type: 'controlled-stream'; id?: string; } | { type: 'error'; status: number; content?: string; }); declare class TestServerCall$1 { private request; constructor(request: Request); getRequestBodyJson(): Promise; getRequestCredentials(): RequestCredentials; getRequestHeaders(): Record; getRequestUrlSearchParams(): URLSearchParams; } declare function withTestServer(responses: Array | TestServerResponse, testFunction: (options: { calls: () => Array; call: (index: number) => TestServerCall$1; getStreamController: (id: string) => ReadableStreamDefaultController; streamController: ReadableStreamDefaultController; }) => Promise): () => Promise; declare function describeWithTestServer(description: string, responses: Array | TestServerResponse, testFunction: (options: { calls: () => Array; call: (index: number) => TestServerCall$1; getStreamController: (id: string) => ReadableStreamDefaultController; streamController: ReadableStreamDefaultController; }) => void): void; type UrlResponse = { type: 'json-value'; headers?: Record; body: JsonBodyType; } | { type: 'stream-chunks'; headers?: Record; chunks: Array; } | { type: 'binary'; headers?: Record; body: Buffer; } | { type: 'empty'; headers?: Record; status?: number; } | { type: 'error'; headers?: Record; status?: number; body?: string; } | { type: 'controlled-stream'; headers?: Record; controller: TestResponseController; } | undefined; type UrlResponseParameter = UrlResponse | UrlResponse[] | ((options: { callNumber: number; }) => UrlResponse); type UrlHandler = { response: UrlResponseParameter; }; type UrlHandlers = { [url in keyof URLS]: UrlHandler; }; declare class TestServerCall { private request; constructor(request: Request); get requestBody(): Promise; get requestBodyMultipart(): Promise> | null; get requestCredentials(): RequestCredentials; get requestHeaders(): Record; get requestUrlSearchParams(): URLSearchParams; get requestUrl(): string; get requestMethod(): string; } declare function createTestServer(routes: URLS): { urls: UrlHandlers; calls: TestServerCall[]; }; declare class TestResponseController { private readonly transformStream; private readonly writer; constructor(); get stream(): ReadableStream; write(chunk: string): Promise; error(error: Error): Promise; close(): Promise; } export { JsonTestServer, StreamingTestServer, TestResponseController, type TestServerJsonBodyType, type TestServerResponse, type UrlHandler, type UrlHandlers, type UrlResponse, convertArrayToAsyncIterable, convertArrayToReadableStream, convertAsyncIterableToArray, convertReadableStreamToArray, convertResponseStreamToArray, createTestServer, describeWithTestServer, mockId, withTestServer };