import type { AnyElysia } from 'elysia'; import type { EdenQueryStoreKey } from '../constraints'; import { type HTTPHeaders, type HTTPLinkBaseOptions } from '../http'; import type { EdenRequestOptions } from '../request'; import type { NonEmptyArray } from '../utils/types'; import type { EdenLink, Operation } from './internal/operation'; import type { DataTransformerOptions } from './internal/transformer'; import { type Requester } from './internal/universal-requester'; export type HTTPLinkFactoryOptions = { requester: Requester; }; export type HTTPLinkOptions = HTTPLinkBaseOptions & Omit, 'headers' | 'transformer'> & { /** * @todo: Merge this headers type into {@link EdenRequestOptions} */ headers?: HTTPHeaders | ((operations: NonEmptyArray) => HTTPHeaders | Promise); } & (TTransformer extends DataTransformerOptions ? { transformer: TTransformer; } : { transformer?: DataTransformerOptions; }); export type HTTPLinkFactory = (options?: HTTPLinkOptions) => EdenLink; export declare function httpLinkFactory(factoryOptions: HTTPLinkFactoryOptions): HTTPLinkFactory; /** * @see https://trpc.io/docs/v11/client/links/httpLink */ export declare const safeHttpLink: HTTPLinkFactory; /** * @see https://trpc.io/docs/v11/client/links/httpLink */ export declare function httpLink(options?: HTTPLinkOptions): EdenLink; //# sourceMappingURL=http-link.d.ts.map