import { ProcedureType } from '@trpc/server'; import { TRPCResponse } from '@trpc/server/rpc'; import { AbortControllerEsque, FetchEsque, ResponseEsque } from '../../internals/types'; import { HTTPHeaders, Operation, PromiseAndCancel, TRPCClientRuntime } from '../types'; /** * @internal */ export interface HTTPLinkBaseOptions { url: string; /** * Add ponyfill for fetch */ fetch?: FetchEsque; /** * Add ponyfill for AbortController */ AbortController?: AbortControllerEsque | null; } export interface ResolvedHTTPLinkOptions { url: string; fetch: FetchEsque; AbortController: AbortControllerEsque | null; } export declare function resolveHTTPLinkOptions(opts: HTTPLinkBaseOptions): ResolvedHTTPLinkOptions; export interface HTTPResult { json: TRPCResponse; meta: { response: ResponseEsque; }; } declare type GetInputOptions = { runtime: TRPCClientRuntime; } & ({ inputs: unknown[]; } | { input: unknown; }); declare type GetUrlOptions = ResolvedHTTPLinkOptions & GetInputOptions & { type: ProcedureType; path: string; }; export declare function getUrl(opts: GetUrlOptions): string; declare type GetBodyOptions = { type: ProcedureType; } & GetInputOptions; export declare function getBody(opts: GetBodyOptions): string | undefined; export declare type HTTPRequestOptions = ResolvedHTTPLinkOptions & GetInputOptions & { type: ProcedureType; path: string; headers: () => HTTPHeaders | Promise; ops: Operation[]; }; export declare function httpRequest(opts: HTTPRequestOptions): PromiseAndCancel; export {}; //# sourceMappingURL=httpUtils.d.ts.map