import { AnyRouter, DataTransformer } from '@trpc/server'; import { Observable, Observer } from '@trpc/server/observable'; import { TRPCResultMessage, TRPCSuccessResponse } from '@trpc/server/rpc'; import { TRPCClientError } from '../TRPCClientError'; import { ResponseEsque } from '../internals/types'; /** * @internal */ export declare type CancelFn = () => void; /** * @internal */ export declare type PromiseAndCancel = { promise: Promise; cancel: CancelFn; }; /** * @internal */ export declare type OperationContext = Record; /** * @internal */ export declare type Operation = { id: number; type: 'query' | 'mutation' | 'subscription'; input: TInput; path: string; context: OperationContext; }; /** * @internal */ export declare type HTTPHeaders = Record; /** * The default `fetch` implementation has an overloaded signature. By convention this library * only uses the overload taking a string and options object. */ export declare type TRPCFetch = (url: string, options?: RequestInit) => Promise; export interface TRPCClientRuntime { transformer: DataTransformer; } /** * @internal */ export interface OperationResultEnvelope { result: TRPCSuccessResponse['result'] | TRPCResultMessage['result']; context?: OperationContext; } /** * @internal */ export declare type OperationResultObservable = Observable, TRPCClientError>; /** * @internal */ export declare type OperationResultObserver = Observer, TRPCClientError>; /** * @internal */ export declare type OperationLink = (opts: { op: Operation; next: (op: Operation) => OperationResultObservable; }) => OperationResultObservable; /** * @public */ export declare type TRPCLink = (opts: TRPCClientRuntime) => OperationLink; //# sourceMappingURL=types.d.ts.map