import { AnyRouter } from '../'; import { TRPCError } from '../error/TRPCError'; import { Maybe } from '../types'; import { BaseContentTypeHandler } from './contentType'; import { HTTPResponse, ResponseChunk } from './internals/types'; import { HTTPBaseHandlerOptions, HTTPRequest, ResolveHTTPRequestOptionsContextFn } from './types'; interface ResolveHTTPRequestOptions extends HTTPBaseHandlerOptions { createContext: ResolveHTTPRequestOptionsContextFn; req: TRequest; path: string; error?: Maybe; contentTypeHandler?: BaseContentTypeHandler; preprocessedBody?: boolean; /** * Called as soon as the response head is known. * When streaming, headers will have been generated * **without** knowing the response body. * * Without this callback, streaming is disabled. */ unstable_onHead: (headResponse: Omit, isStreaming: boolean) => void; /** * Called for every procedure with `[index, result]`. * * Will be called a single time with `index = -1` if * - response is an error * - response is empty (HEAD request) * * Without this callback, streaming is disabled. */ unstable_onChunk: (chunk: ResponseChunk) => void; } /** * Since `resolveHTTPResponse` is a public API (community adapters), * let's give it a strong type signature to increase discoverability. */ /** * Non-streaming signature for `resolveHTTPResponse`: * @param opts.unstable_onHead `undefined` * @param opts.unstable_onChunk `undefined` * @returns `Promise` */ export declare function resolveHTTPResponse(opts: Omit, 'unstable_onChunk' | 'unstable_onHead'>): Promise; /** * Streaming signature for `resolveHTTPResponse`: * @param opts.unstable_onHead called as soon as the response head is known * @param opts.unstable_onChunk called for every procedure with `[index, result]` * @returns `Promise` since the response is streamed */ export declare function resolveHTTPResponse(opts: ResolveHTTPRequestOptions): Promise; export {}; //# sourceMappingURL=resolveHTTPResponse.d.ts.map