@orpc/tanstack-query 2.0.0-beta.3 → 2.0.0-beta.31

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/dist/index.d.ts CHANGED
@@ -1,7 +1,7 @@
1
- import { ClientContext, Client, AnyNestedClient, InferClientContext, InferClientError, ThrowableError } from '@orpc/client';
2
- import { AnySchema, ErrorMap, ProcedureContract, InferSchemaInput, InferSchemaOutput, ORPCErrorFromErrorMap, RouterContractClient, RouterContract, ContractCaller } from '@orpc/contract';
3
- import { JsonifiedValue, JsonifiedClientError, JsonifiedClient } from '@orpc/openapi';
4
- import { Promisable, PartialDeep, Interceptor, PromiseWithError, MaybeOptionalOptions, OrderablePlugin, Public } from '@orpc/shared';
1
+ import { ClientContext, Client, AnyNestedClient, InferClientContext, InferClientError } from '@orpc/client';
2
+ import { RouterContract, RouterContractClient, ContractClientFactory, AnySchema, ErrorMap, MetaPlugin, Meta, InferSchemaInput, InferSchemaOutput, ORPCErrorFromErrorMap } from '@orpc/contract';
3
+ import { JsonifiedClient } from '@orpc/openapi';
4
+ import { Promisable, PartialDeep, Interceptor, PromiseWithError, MaybeOptionalOptions, OrderablePlugin, Public, ThrowableError } from '@orpc/shared';
5
5
  import { QueryKey, QueryFunctionContext, QueryFunction, SkipToken, QueryObserverOptions, InfiniteQueryObserverOptions, MutationObserverOptions, DataTag, InfiniteData, MutationFunctionContext } from '@tanstack/query-core';
6
6
 
7
7
  interface SerializableStreamedQueryOptions {
@@ -33,13 +33,19 @@ declare function serializableStreamedQuery<TQueryFnData = unknown, TQueryKey ext
33
33
  type InferStreamedQueryOutput<TOutput> = TOutput extends AsyncIterable<infer U> ? U[] : never;
34
34
  type InferLiveQueryOutput<TOutput> = TOutput extends AsyncIterable<infer U> ? U : never;
35
35
  type OperationType = 'query' | 'streamed' | 'live' | 'infinite' | 'mutation';
36
- type OperationKeyOptions<TType extends OperationType, TInput> = {
37
- type?: TType;
38
- input?: TType extends 'mutation' ? never : PartialDeep<TInput>;
39
- fnOptions?: TType extends 'streamed' ? SerializableStreamedQueryOptions : never;
40
- };
41
- type OperationKey<TType extends OperationType, TInput> = [path: string[], options: OperationKeyOptions<TType, TInput>];
36
+ /**
37
+ * The symbol under which TanStack Query utils attach operation details
38
+ * (key and operation type) to the client context.
39
+ *
40
+ * @see {@link https://orpc.dev/docs/integrations/tanstack-query#client-context | TanStack Query Integration - Client Context}
41
+ */
42
42
  declare const OPERATION_CONTEXT_SYMBOL: unique symbol;
43
+ /**
44
+ * A client context automatically populated by TanStack Query utils,
45
+ * exposing the operation key and type of the calling operation.
46
+ *
47
+ * @see {@link https://orpc.dev/docs/integrations/tanstack-query#client-context | TanStack Query Integration - Client Context}
48
+ */
43
49
  interface OperationContext {
44
50
  [OPERATION_CONTEXT_SYMBOL]?: {
45
51
  key: QueryKey;
@@ -108,6 +114,31 @@ type MutationOptionsIn<TClientContext extends ClientContext, TInput, TOutput, TE
108
114
  }) & MutationOptionsOut<TInput, TOutput, TError, TMutationContext>;
109
115
  type MutationOptionsOut<TInput, TOutput, TError, TMutationContext> = MutationObserverOptions<TOutput, TError, TInput, TMutationContext>;
110
116
 
117
+ interface OperationKeyPrefixOptions {
118
+ /**
119
+ * Prepended as the first element of the key when present.
120
+ * Use this to avoid key conflicts when multiple router utils share the same client.
121
+ */
122
+ prefix?: string;
123
+ }
124
+ type OperationKeyOptions<TType extends OperationType, TInput> = OperationKeyPrefixOptions & {
125
+ type?: TType;
126
+ input?: TType extends 'mutation' ? never : PartialDeep<TInput>;
127
+ fnOptions?: TType extends 'streamed' ? SerializableStreamedQueryOptions : never;
128
+ };
129
+ type OperationKey<TType extends OperationType, TInput> = [path: string[], options: Omit<OperationKeyOptions<TType, TInput>, 'prefix'>] | [prefix: string, path: string[], options: Omit<OperationKeyOptions<TType, TInput>, 'prefix'>];
130
+ declare function generateOperationKey<TType extends OperationType, TInput>(path: string[], options?: OperationKeyOptions<TType, TInput>): OperationKey<TType, TInput>;
131
+
132
+ declare class SharedUtils<TInput> {
133
+ protected readonly path: string[];
134
+ protected readonly options: OperationKeyPrefixOptions;
135
+ constructor(path: string[], options: OperationKeyPrefixOptions);
136
+ /**
137
+ * Generate a **partial matching** key for actions like revalidating queries, checking mutation status, etc.
138
+ */
139
+ key<TType extends OperationType>(options?: Omit<OperationKeyOptions<TType, TInput>, 'prefix'>): OperationKey<TType, TInput>;
140
+ }
141
+
111
142
  interface ProcedureUtilsQueryInterceptorOptions<TClientContext extends ClientContext, TInput> {
112
143
  path: string[];
113
144
  context: TClientContext & OperationContext;
@@ -135,7 +166,7 @@ type ProcedureUtilsMutationInterceptor<TClientContext extends ClientContext, TIn
135
166
  * or a function that receives per-call options and returns overridden this.options.
136
167
  */
137
168
  type ProcedureUtilsModifier<T extends object> = Partial<T> | ((options: T) => T);
138
- interface ProcedureUtilsOptions<TClientContext extends ClientContext, TInput, TOutput, TError> {
169
+ interface ProcedureUtilsOptions<TClientContext extends ClientContext, TInput, TOutput, TError> extends OperationKeyPrefixOptions {
139
170
  /**
140
171
  * Key options modifier for .queryKey and .queryOptions
141
172
  * Can be partial options or a function that receives per-call options and returns override this.options.
@@ -207,9 +238,17 @@ interface ProcedureUtilsOptions<TClientContext extends ClientContext, TInput, TO
207
238
  */
208
239
  mutationOptions?: ProcedureUtilsModifier<MutationOptionsIn<TClientContext, TInput, TOutput, TError, unknown>>;
209
240
  }
210
- declare class ProcedureUtils<TClientContext extends ClientContext, TInput, TOutput, TError> {
211
- private readonly path;
212
- private readonly options;
241
+ declare function isProcedureUtilsOptions(value: unknown): value is ProcedureUtilsOptions<any, any, any, any>;
242
+ /**
243
+ * Merge two procedure utils options where `override` takes priority.
244
+ * A key explicitly set to `undefined` in `override` resets the base value.
245
+ * When both sides define a key: interceptors are concatenated (base ones run first),
246
+ * modifiers are spread-merged when both are plain objects and composed (base applied
247
+ * first) otherwise, with plain objects applied as regular spread merges.
248
+ */
249
+ declare function mergeProcedureUtilsOptions<TClientContext extends ClientContext, TInput, TOutput, TError>(base: ProcedureUtilsOptions<TClientContext, TInput, TOutput, TError>, override: ProcedureUtilsOptions<TClientContext, TInput, TOutput, TError>): ProcedureUtilsOptions<TClientContext, TInput, TOutput, TError>;
250
+ declare class ProcedureUtils<TClientContext extends ClientContext, TInput, TOutput, TError> extends SharedUtils<TInput> {
251
+ protected readonly options: ProcedureUtilsOptions<TClientContext, TInput, TOutput, TError>;
213
252
  /**
214
253
  * Calling corresponding procedure client
215
254
  */
@@ -228,7 +267,7 @@ declare class ProcedureUtils<TClientContext extends ClientContext, TInput, TOutp
228
267
  */
229
268
  streamedKey(...rest: MaybeOptionalOptions<StreamedKeyOptions<TInput>>): DataTag<QueryKey, InferStreamedQueryOutput<TOutput>, TError>;
230
269
  /**
231
- * Configure queries for [Event Iterator](https://orpc.dev/docs/event-iterator).
270
+ * Configure queries for [AsyncIteratorObject](https://orpc.dev/docs/async-iterator-object).
232
271
  * This is built on [TanStack Query streamedQuery](https://tanstack.com/query/latest/docs/reference/streamedQuery)
233
272
  * and works with hooks like `useQuery`, `useSuspenseQuery`, or `prefetchQuery`.
234
273
  */
@@ -238,7 +277,7 @@ declare class ProcedureUtils<TClientContext extends ClientContext, TInput, TOutp
238
277
  */
239
278
  liveKey(...rest: MaybeOptionalOptions<QueryKeyOptions<TInput>>): DataTag<QueryKey, InferLiveQueryOutput<TOutput>, TError>;
240
279
  /**
241
- * Configure live queries for [Event Iterator](https://orpc.dev/docs/event-iterator).
280
+ * Configure live queries for [AsyncIteratorObject](https://orpc.dev/docs/async-iterator-object).
242
281
  * Unlike `.streamedOptions` which accumulates chunks, live queries replace the entire result with each new chunk received.
243
282
  * Works with hooks like `useQuery`, `useSuspenseQuery`, or `prefetchQuery`.
244
283
  */
@@ -261,6 +300,11 @@ declare class ProcedureUtils<TClientContext extends ClientContext, TInput, TOutp
261
300
  mutationOptions<UMutationContext>(...rest: MaybeOptionalOptions<MutationOptionsIn<TClientContext, TInput, TOutput, TError, UMutationContext>>): NoInfer<MutationOptionsOut<TInput, TOutput, TError, UMutationContext>>;
262
301
  }
263
302
 
303
+ /**
304
+ * Plugin that packages reusable defaults and interceptors for router utils.
305
+ *
306
+ * @see {@link https://orpc.dev/docs/integrations/tanstack-query#plugins | TanStack Query Integration - Plugins}
307
+ */
264
308
  interface RouterUtilsPlugin<T extends AnyNestedClient> extends OrderablePlugin {
265
309
  /**
266
310
  * Initializes the router utils plugin and returns updated router utils options.
@@ -296,25 +340,31 @@ interface RouterUtilsPlugin<T extends AnyNestedClient> extends OrderablePlugin {
296
340
  */
297
341
  initProcedureOptions?(path: string[], options: ProcedureUtilsOptions<InferClientContext<T>, any, any, InferClientError<T>>): ProcedureUtilsOptions<InferClientContext<T>, any, any, InferClientError<T>>;
298
342
  }
299
-
300
- declare class SharedRouterUtils<TInput> {
301
- private readonly path;
302
- constructor(path: string[]);
303
- /**
304
- * Generate a **partial matching** key for actions like revalidating queries, checking mutation status, etc.
305
- */
306
- key<TType extends OperationType>(options?: OperationKeyOptions<TType, TInput>): OperationKey<TType, TInput>;
343
+ declare class CompositeRouterUtilsPlugin<T extends AnyNestedClient> implements RouterUtilsPlugin<T> {
344
+ protected readonly plugins: RouterUtilsPlugin<T>[];
345
+ readonly name = "~composite";
346
+ constructor(plugins?: RouterUtilsPlugin<T>[]);
347
+ init(options: RouterUtilsOptions<T>): RouterUtilsOptions<T>;
348
+ initProcedureOptions(path: string[], options: ProcedureUtilsOptions<InferClientContext<T>, any, any, InferClientError<T>>): ProcedureUtilsOptions<InferClientContext<T>, any, any, InferClientError<T>>;
307
349
  }
308
- type RouterUtils<T extends AnyNestedClient> = T extends Client<infer UClientContext, infer UInput, infer UOutput, infer UError> ? Public<ProcedureUtils<UClientContext, UInput, UOutput, UError>> & Public<SharedRouterUtils<UInput>> : {
350
+
351
+ /**
352
+ * The utils shape derived from a client: procedure clients map to procedure
353
+ * utils, and routers map recursively to nested utils.
354
+ *
355
+ * @see {@link https://orpc.dev/docs/integrations/tanstack-query | TanStack Query Integration}
356
+ */
357
+ type RouterUtils<T extends AnyNestedClient> = T extends Client<infer UClientContext, infer UInput, infer UOutput, infer UError> ? Public<ProcedureUtils<UClientContext, UInput, UOutput, UError>> : {
309
358
  [K in keyof T]: T[K] extends AnyNestedClient ? RouterUtils<T[K]> : never;
310
- } & Public<SharedRouterUtils<unknown>>;
359
+ } & Public<SharedUtils<unknown>>;
311
360
  type RouterUtilsScoped<T extends AnyNestedClient> = T extends Client<infer UClientContext, infer UInput, infer UOutput, infer UError> ? ProcedureUtilsOptions<UClientContext, UInput, UOutput, UError> : {
312
361
  [K in keyof T]?: T[K] extends AnyNestedClient ? RouterUtilsScoped<T[K]> : never;
313
362
  };
314
- interface RouterUtilsOptions<T extends AnyNestedClient> {
363
+ interface RouterUtilsOptions<T extends AnyNestedClient> extends OperationKeyPrefixOptions {
315
364
  /**
316
- * Base path for all query keys. Use this to avoid conflicts when mounting
317
- * multiple router utils instances.
365
+ * Base path for all query keys.
366
+ *
367
+ * @internal
318
368
  */
319
369
  path?: string[] | undefined;
320
370
  /**
@@ -349,26 +399,75 @@ interface RouterUtilsOptions<T extends AnyNestedClient> {
349
399
  plugins?: RouterUtilsPlugin<T>[] | undefined;
350
400
  }
351
401
  /**
352
- * Create a router utils from a client.
402
+ * Creates TanStack Query utils from a client, exposing query/mutation
403
+ * option builders for every procedure in the router.
353
404
  *
354
- * @info Both client-side and server-side clients are supported.
405
+ * @remarks
406
+ * **Note**: Both client-side and server-side clients are supported.
407
+ *
408
+ * @see {@link https://orpc.dev/docs/integrations/tanstack-query | TanStack Query Integration}
355
409
  */
356
410
  declare function createRouterUtils<T extends AnyNestedClient>(client: T, options?: NoInfer<RouterUtilsOptions<T>>): RouterUtils<T>;
357
411
 
358
412
  interface ContractUtilsFactory<TClientContext extends ClientContext> {
359
- <TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap>(procedure: ProcedureContract<TInputSchema, TOutputSchema, TErrorMap>): Public<SharedRouterUtils<InferSchemaInput<TInputSchema>>> & Public<ProcedureUtils<TClientContext, InferSchemaInput<TInputSchema>, InferSchemaOutput<TOutputSchema>, ORPCErrorFromErrorMap<TErrorMap> | ThrowableError>>;
413
+ <T extends RouterContract>(contract: T): RouterUtils<RouterContractClient<T, TClientContext>>;
360
414
  }
361
- interface ContractUtilsFactoryOptions<TClientContext extends ClientContext> extends RouterUtilsOptions<RouterContractClient<RouterContract, TClientContext>> {
415
+ interface ContractUtilsFactoryOptions<TClientContext extends ClientContext> extends Omit<RouterUtilsOptions<RouterContractClient<RouterContract, TClientContext>>, 'path'> {
362
416
  }
363
- declare function createContractUtilsFactory<TClientContext extends ClientContext>(caller: ContractCaller<TClientContext>, options: ContractUtilsFactoryOptions<TClientContext>): ContractUtilsFactory<TClientContext>;
417
+ /**
418
+ * Creates a factory that builds TanStack Query utils directly from a contract,
419
+ * using the given contract client factory. Useful for scaling large projects
420
+ * where each part only needs a slice of the router.
421
+ *
422
+ * @remarks
423
+ * **Note**: The contract must define a `path` meta matching its position in the root router contract.
424
+ *
425
+ * @see {@link https://orpc.dev/docs/contract/client-factory#tanstack-query-integration | Contract Client Factory - TanStack Query Integration}
426
+ */
427
+ declare function createContractUtilsFactory<TClientContext extends ClientContext>(clientFactory: ContractClientFactory<TClientContext>, options: ContractUtilsFactoryOptions<TClientContext>): ContractUtilsFactory<TClientContext>;
364
428
  interface ContractJsonifiedUtilsFactory<TClientContext extends ClientContext> {
365
- <TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap>(procedure: ProcedureContract<TInputSchema, TOutputSchema, TErrorMap>): SharedRouterUtils<InferSchemaInput<TInputSchema>> & ProcedureUtils<TClientContext, InferSchemaInput<TInputSchema>, JsonifiedValue<InferSchemaOutput<TOutputSchema>>, JsonifiedClientError<ORPCErrorFromErrorMap<TErrorMap> | ThrowableError>>;
429
+ <T extends RouterContract>(contract: T): RouterUtils<JsonifiedClient<RouterContractClient<T, TClientContext>>>;
366
430
  }
367
- interface ContractJsonifiedUtilsFactoryOptions<TClientContext extends ClientContext> extends RouterUtilsOptions<JsonifiedClient<RouterContractClient<RouterContract, TClientContext>>> {
431
+ interface ContractJsonifiedUtilsFactoryOptions<TClientContext extends ClientContext> extends Omit<RouterUtilsOptions<JsonifiedClient<RouterContractClient<RouterContract, TClientContext>>>, 'path'> {
368
432
  }
369
- declare function createContractJsonifiedUtilsFactory<TClientContext extends ClientContext>(caller: ContractCaller<TClientContext>, options: ContractJsonifiedUtilsFactoryOptions<TClientContext>): ContractJsonifiedUtilsFactory<TClientContext>;
433
+ declare function createContractJsonifiedUtilsFactory<TClientContext extends ClientContext>(clientFactory: ContractClientFactory<TClientContext>, options: ContractJsonifiedUtilsFactoryOptions<TClientContext>): ContractJsonifiedUtilsFactory<TClientContext>;
370
434
 
371
- declare function generateOperationKey<TType extends OperationType, TInput>(path: string[], state?: OperationKeyOptions<TType, TInput>): OperationKey<TType, TInput>;
435
+ type TanstackQueryMetaOptions<TClientContext extends ClientContext, TInput, TOutput, TError> = Omit<ProcedureUtilsOptions<TClientContext, TInput, TOutput, TError>, 'prefix'>;
436
+ interface TanstackQueryMetaPlugin<TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap> extends MetaPlugin<TInputSchema, TOutputSchema, TErrorMap> {
437
+ name: '~tanstack-query';
438
+ }
439
+ /**
440
+ * Define base TanStack Query options and interceptors on a procedure contract.
441
+ * Applied multiple times, later options are spread-merged with higher priority
442
+ * while interceptors are concatenated. A key explicitly set to `undefined`
443
+ * resets the value from earlier applications instead of merging.
444
+ *
445
+ * Apply them to router utils with {@link ContractOptionsUtilsPlugin}.
446
+ *
447
+ * @see {@link https://orpc.dev/docs/integrations/tanstack-query#contract-options-plugin | TanStack Query Integration - Contract Options Plugin}
448
+ */
449
+ declare function tanstackQuery<TInputSchema extends AnySchema, TOutputSchema extends AnySchema, TErrorMap extends ErrorMap>(options: TanstackQueryMetaOptions<ClientContext, InferSchemaInput<TInputSchema>, InferSchemaOutput<TOutputSchema>, ORPCErrorFromErrorMap<TErrorMap> | ThrowableError>): TanstackQueryMetaPlugin<TInputSchema, TOutputSchema, TErrorMap>;
450
+ declare function getTanstackQueryMeta(procedureOrLazy: {
451
+ '~orpc': {
452
+ meta: Meta;
453
+ };
454
+ }): TanstackQueryMetaOptions<ClientContext, unknown, unknown, ThrowableError> | undefined;
455
+ /**
456
+ * Router utils plugin that applies base options defined via {@link tanstackQuery}
457
+ * on the given router contract. Meta options act as the base layer: options defined
458
+ * on the utils override them, and utils interceptors run after meta interceptors.
459
+ *
460
+ * The contract shape must match the client the utils are created from,
461
+ * so pass the root router contract when utils paths start from the root.
462
+ *
463
+ * @see {@link https://orpc.dev/docs/integrations/tanstack-query#contract-options-plugin | TanStack Query Integration - Contract Options Plugin}
464
+ */
465
+ declare class ContractOptionsUtilsPlugin<T extends AnyNestedClient = AnyNestedClient> implements RouterUtilsPlugin<T> {
466
+ private readonly contract;
467
+ readonly name = "~contract-options";
468
+ constructor(contract: RouterContract);
469
+ initProcedureOptions(path: string[], options: ProcedureUtilsOptions<InferClientContext<T>, any, any, InferClientError<T>>): ProcedureUtilsOptions<InferClientContext<T>, any, any, InferClientError<T>>;
470
+ }
372
471
 
373
- export { OPERATION_CONTEXT_SYMBOL, ProcedureUtils, SharedRouterUtils, OPERATION_CONTEXT_SYMBOL as TANSTACK_QUERY_OPERATION_CONTEXT_SYMBOL, createContractJsonifiedUtilsFactory, createContractUtilsFactory, createRouterUtils, createRouterUtils as createTanstackQueryUtils, generateOperationKey, serializableStreamedQuery };
374
- export type { ContractJsonifiedUtilsFactory, ContractJsonifiedUtilsFactoryOptions, ContractUtilsFactory, ContractUtilsFactoryOptions, InferLiveQueryOutput, InferStreamedQueryOutput, InfiniteKeyOptions, InfiniteOptionsIn, InfiniteOptionsOut, MutationKeyOptions, MutationOptionsIn, MutationOptionsOut, OperationContext, OperationKey, OperationKeyOptions, OperationType, ProcedureUtilsInfiniteInterceptor, ProcedureUtilsInfiniteInterceptorOptions, ProcedureUtilsLiveInterceptor, ProcedureUtilsLiveInterceptorOptions, ProcedureUtilsModifier, ProcedureUtilsMutationInterceptor, ProcedureUtilsMutationInterceptorOptions, ProcedureUtilsOptions, ProcedureUtilsQueryInterceptor, ProcedureUtilsQueryInterceptorOptions, ProcedureUtilsStreamedInterceptor, ProcedureUtilsStreamedInterceptorOptions, QueryKeyOptions, QueryOptionsIn, QueryOptionsOut, RouterUtils, RouterUtilsOptions, RouterUtilsScoped, SerializableStreamedQueryOptions, StreamedKeyOptions, StreamedOptionsIn, StreamedOptionsOut, OperationContext as TanstackQueryOperationContext };
472
+ export { CompositeRouterUtilsPlugin, ContractOptionsUtilsPlugin, OPERATION_CONTEXT_SYMBOL, ProcedureUtils, SharedUtils, OPERATION_CONTEXT_SYMBOL as TANSTACK_QUERY_OPERATION_CONTEXT_SYMBOL, createContractJsonifiedUtilsFactory, createContractUtilsFactory, createRouterUtils, createRouterUtils as createTanstackQueryUtils, generateOperationKey, getTanstackQueryMeta, isProcedureUtilsOptions, mergeProcedureUtilsOptions, serializableStreamedQuery, tanstackQuery };
473
+ export type { ContractJsonifiedUtilsFactory, ContractJsonifiedUtilsFactoryOptions, ContractUtilsFactory, ContractUtilsFactoryOptions, InferLiveQueryOutput, InferStreamedQueryOutput, InfiniteKeyOptions, InfiniteOptionsIn, InfiniteOptionsOut, MutationKeyOptions, MutationOptionsIn, MutationOptionsOut, OperationContext, OperationKey, OperationKeyOptions, OperationKeyPrefixOptions, OperationType, ProcedureUtilsInfiniteInterceptor, ProcedureUtilsInfiniteInterceptorOptions, ProcedureUtilsLiveInterceptor, ProcedureUtilsLiveInterceptorOptions, ProcedureUtilsModifier, ProcedureUtilsMutationInterceptor, ProcedureUtilsMutationInterceptorOptions, ProcedureUtilsOptions, ProcedureUtilsQueryInterceptor, ProcedureUtilsQueryInterceptorOptions, ProcedureUtilsStreamedInterceptor, ProcedureUtilsStreamedInterceptorOptions, QueryKeyOptions, QueryOptionsIn, QueryOptionsOut, RouterUtils, RouterUtilsOptions, RouterUtilsPlugin, RouterUtilsScoped, SerializableStreamedQueryOptions, StreamedKeyOptions, StreamedOptionsIn, StreamedOptionsOut, TanstackQueryMetaOptions, TanstackQueryMetaPlugin, OperationContext as TanstackQueryOperationContext };