@navios/react-query 0.4.0 → 0.5.1

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.
Files changed (81) hide show
  1. package/CHANGELOG.md +80 -0
  2. package/dist/src/client/__type-tests__/client-instance.spec-d.d.mts +2 -0
  3. package/dist/src/client/__type-tests__/client-instance.spec-d.d.mts.map +1 -0
  4. package/dist/src/client/declare-client.d.mts +70 -0
  5. package/dist/src/client/declare-client.d.mts.map +1 -0
  6. package/dist/src/client/index.d.mts +3 -0
  7. package/dist/src/client/index.d.mts.map +1 -0
  8. package/dist/src/client/types.d.mts +301 -0
  9. package/dist/src/client/types.d.mts.map +1 -0
  10. package/dist/src/common/index.d.mts +2 -0
  11. package/dist/src/common/index.d.mts.map +1 -0
  12. package/dist/src/common/types.d.mts +21 -0
  13. package/dist/src/common/types.d.mts.map +1 -0
  14. package/dist/src/index.d.mts +13 -8
  15. package/dist/src/index.d.mts.map +1 -1
  16. package/dist/src/mutation/index.d.mts +4 -0
  17. package/dist/src/mutation/index.d.mts.map +1 -0
  18. package/dist/src/mutation/key-creator.d.mts +36 -0
  19. package/dist/src/mutation/key-creator.d.mts.map +1 -0
  20. package/dist/src/mutation/make-hook.d.mts +25 -0
  21. package/dist/src/mutation/make-hook.d.mts.map +1 -0
  22. package/dist/src/mutation/types.d.mts +50 -0
  23. package/dist/src/mutation/types.d.mts.map +1 -0
  24. package/dist/src/query/index.d.mts +5 -0
  25. package/dist/src/query/index.d.mts.map +1 -0
  26. package/dist/src/query/key-creator.d.mts +17 -0
  27. package/dist/src/query/key-creator.d.mts.map +1 -0
  28. package/dist/src/query/make-infinite-options.d.mts +23 -0
  29. package/dist/src/query/make-infinite-options.d.mts.map +1 -0
  30. package/dist/src/query/make-options.d.mts +24 -0
  31. package/dist/src/query/make-options.d.mts.map +1 -0
  32. package/dist/src/query/types.d.mts +83 -0
  33. package/dist/src/query/types.d.mts.map +1 -0
  34. package/dist/tsconfig.tsbuildinfo +1 -1
  35. package/lib/_tsup-dts-rollup.d.mts +514 -250
  36. package/lib/_tsup-dts-rollup.d.ts +514 -250
  37. package/lib/index.d.mts +26 -19
  38. package/lib/index.d.ts +26 -19
  39. package/lib/index.js +92 -66
  40. package/lib/index.js.map +1 -1
  41. package/lib/index.mjs +92 -68
  42. package/lib/index.mjs.map +1 -1
  43. package/package.json +7 -7
  44. package/project.json +9 -1
  45. package/src/__tests__/client-type-check.spec.mts +1 -1
  46. package/src/__tests__/declare-client.spec.mts +1 -1
  47. package/src/__tests__/make-mutation.spec.mts +1 -1
  48. package/src/__tests__/makeDataTag.spec.mts +1 -1
  49. package/src/__tests__/makeInfiniteQueryOptions.spec.mts +1 -2
  50. package/src/__tests__/makeQueryOptions.spec.mts +1 -1
  51. package/src/client/__type-tests__/client-instance.spec-d.mts +702 -0
  52. package/src/{declare-client.mts → client/declare-client.mts} +93 -33
  53. package/src/client/index.mts +2 -0
  54. package/src/{types/client-instance.mts → client/types.mts} +423 -149
  55. package/src/common/index.mts +1 -0
  56. package/src/common/types.mts +31 -0
  57. package/src/index.mts +28 -8
  58. package/src/mutation/index.mts +3 -0
  59. package/src/mutation/key-creator.mts +64 -0
  60. package/src/{make-mutation.mts → mutation/make-hook.mts} +19 -8
  61. package/src/mutation/types.mts +106 -0
  62. package/src/query/index.mts +4 -0
  63. package/src/{utils/query-key-creator.mts → query/key-creator.mts} +22 -48
  64. package/src/{make-infinite-query-options.mts → query/make-infinite-options.mts} +28 -14
  65. package/src/{make-query-options.mts → query/make-options.mts} +26 -25
  66. package/src/query/types.mts +163 -0
  67. package/dist/tsdown.config.d.mts +0 -3
  68. package/dist/tsdown.config.d.mts.map +0 -1
  69. package/dist/tsup.config.d.mts +0 -3
  70. package/dist/tsup.config.d.mts.map +0 -1
  71. package/dist/vitest.config.d.mts +0 -3
  72. package/dist/vitest.config.d.mts.map +0 -1
  73. package/src/types/client-endpoint-helper.mts +0 -29
  74. package/src/types/index.mts +0 -7
  75. package/src/types/mutation-args.mts +0 -10
  76. package/src/types/mutation-helpers.mts +0 -13
  77. package/src/types/query-args.mts +0 -8
  78. package/src/types/query-helpers.mts +0 -34
  79. package/src/types/query-url-params-args.mts +0 -6
  80. package/src/types.mts +0 -118
  81. package/src/utils/mutation-key.creator.mts +0 -65
@@ -8,8 +8,9 @@ import type { HttpMethod } from '@navios/builder';
8
8
  import type { InfiniteData } from '@tanstack/react-query';
9
9
  import type { NaviosZodRequest } from '@navios/builder';
10
10
  import { NoInfer as NoInfer_2 } from '@tanstack/react-query';
11
+ import { ProcessResponseFunction as ProcessResponseFunction_2 } from '../index.mjs';
11
12
  import type { QueryClient } from '@tanstack/react-query';
12
- import { QueryKeyCreatorResult as QueryKeyCreatorResult_2 } from './utils/query-key-creator.mjs';
13
+ import { QueryKeyCreatorResult as QueryKeyCreatorResult_2 } from './types.mjs';
13
14
  import { UrlHasParams } from '@navios/builder';
14
15
  import type { UrlParams } from '@navios/builder';
15
16
  import type { UseInfiniteQueryOptions } from '@tanstack/react-query';
@@ -27,29 +28,19 @@ import type { z } from 'zod/v4';
27
28
  import type { ZodObject } from 'zod/v4';
28
29
  import type { ZodType } from 'zod/v4';
29
30
 
31
+ /** @deprecated Use NaviosZodRequest from @navios/builder instead */
30
32
  declare type BaseMutationArgs<Config extends AnyEndpointConfig> = NaviosZodRequest<Config>;
31
33
  export { BaseMutationArgs }
32
34
  export { BaseMutationArgs as BaseMutationArgs_alias_1 }
35
+ export { BaseMutationArgs as BaseMutationArgs_alias_2 }
33
36
 
34
- declare interface BaseMutationParams<Config extends AnyEndpointConfig, TData = unknown, TVariables = BaseMutationArgs<Config>, TResponse = z.output<Config['responseSchema']>, TContext = unknown, UseKey extends boolean = false> extends Omit<UseMutationOptions<TData, Error, TVariables>, 'mutationKey' | 'mutationFn' | 'onSuccess' | 'onError' | 'scope'> {
35
- processResponse: ProcessResponseFunction<TData, TResponse>;
36
- /**
37
- * React hooks that will prepare the context for the mutation onSuccess and onError
38
- * callbacks. This is useful for when you want to use the context in the callbacks
39
- */
40
- useContext?: () => TContext;
41
- onSuccess?: (queryClient: QueryClient, data: TData, variables: TVariables, context: TContext) => void | Promise<void>;
42
- onError?: (queryClient: QueryClient, err: unknown, variables: TVariables, context: TContext) => void | Promise<void>;
43
- /**
44
- * If true, we will create a mutation key that can be shared across the project.
45
- */
46
- useKey?: UseKey;
47
- keyPrefix?: UseKey extends true ? UrlHasParams<Config['url']> extends true ? string[] : never : never;
48
- keySuffix?: UseKey extends true ? UrlHasParams<Config['url']> extends true ? string[] : never : never;
49
- }
37
+ /** @deprecated Use MutationParams instead */
38
+ declare type BaseMutationParams<Config extends AnyEndpointConfig, TData = unknown, TVariables = NaviosZodRequest<Config>, TResponse = z.output<Config['responseSchema']>, TContext = unknown, UseKey extends boolean = false> = MutationParams<Config, TData, TVariables, TResponse, TContext, UseKey>;
50
39
  export { BaseMutationParams }
51
40
  export { BaseMutationParams as BaseMutationParams_alias_1 }
41
+ export { BaseMutationParams as BaseMutationParams_alias_2 }
52
42
 
43
+ /** @deprecated Use QueryArgs instead */
53
44
  declare type BaseQueryArgs<Config extends AnyEndpointConfig> = (UrlHasParams<Config['url']> extends true ? {
54
45
  urlParams: UrlParams<Config['url']>;
55
46
  } : {}) & (Config['querySchema'] extends ZodObject ? {
@@ -57,58 +48,53 @@ declare type BaseQueryArgs<Config extends AnyEndpointConfig> = (UrlHasParams<Con
57
48
  } : {});
58
49
  export { BaseQueryArgs }
59
50
  export { BaseQueryArgs as BaseQueryArgs_alias_1 }
51
+ export { BaseQueryArgs as BaseQueryArgs_alias_2 }
60
52
 
61
- declare type BaseQueryParams<Config extends AnyEndpointConfig, Res = any> = {
62
- keyPrefix?: string[];
63
- keySuffix?: string[];
64
- onFail?: (err: unknown) => void;
65
- processResponse: (data: z.output<Config['responseSchema']>) => Res;
66
- };
53
+ /** @deprecated Use QueryParams instead */
54
+ declare type BaseQueryParams<Config extends AnyEndpointConfig, Res = unknown> = QueryParams<Config, Res>;
67
55
  export { BaseQueryParams }
68
56
  export { BaseQueryParams as BaseQueryParams_alias_1 }
57
+ export { BaseQueryParams as BaseQueryParams_alias_2 }
69
58
 
70
- declare interface ClientEndpointDefinition<Method = HttpMethod, Url = string, QuerySchema = unknown, Response = ZodType> {
71
- method: Method;
72
- url: Url;
73
- querySchema?: QuerySchema;
74
- responseSchema: Response;
75
- }
76
- export { ClientEndpointDefinition }
77
- export { ClientEndpointDefinition as ClientEndpointDefinition_alias_1 }
78
-
79
- declare type ClientEndpointHelper<Method extends HttpMethod = HttpMethod, Url extends string = string, RequestSchema = unknown, ResponseSchema extends z.ZodType = z.ZodType, QuerySchema = unknown> = {
80
- endpoint: ((params: Util_FlatObject<EndpointFunctionArgs<Url, QuerySchema, RequestSchema>>) => Promise<z.output<ResponseSchema>>) & {
81
- config: BaseEndpointConfig<Method, Url, QuerySchema, ResponseSchema, RequestSchema>;
82
- };
83
- };
59
+ /** @deprecated Use EndpointHelper instead */
60
+ declare type ClientEndpointHelper<Method extends HttpMethod = HttpMethod, Url extends string = string, RequestSchema = unknown, ResponseSchema extends z.ZodType = z.ZodType, QuerySchema = unknown> = EndpointHelper<Method, Url, RequestSchema, ResponseSchema, QuerySchema>;
84
61
  export { ClientEndpointHelper }
85
62
  export { ClientEndpointHelper as ClientEndpointHelper_alias_1 }
86
63
  export { ClientEndpointHelper as ClientEndpointHelper_alias_2 }
87
64
 
88
- declare type ClientInfiniteQueryConfig<Method = HttpMethod, Url = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, PageResult = z.output<Response>, Result = InfiniteData<PageResult>> = Required<ClientEndpointDefinition<Method, Url, QuerySchema, Response>> & {
89
- processResponse?: (data: z.output<Response>) => PageResult;
90
- select?: (data: InfiniteData<PageResult>) => Result;
91
- getNextPageParam: (lastPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema> | undefined;
92
- getPreviousPageParam?: (firstPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema>;
93
- initialPageParam?: z.input<QuerySchema>;
94
- };
95
- export { ClientInfiniteQueryConfig }
96
- export { ClientInfiniteQueryConfig as ClientInfiniteQueryConfig_alias_1 }
97
-
65
+ /**
66
+ * The main client instance interface.
67
+ * Provides methods for creating queries, infinite queries, and mutations.
68
+ */
98
69
  declare interface ClientInstance {
99
70
  query<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, Response extends ZodType = ZodType, Result = z.output<Response>>(config: {
100
71
  method: Method;
101
72
  url: Url;
102
73
  responseSchema: Response;
103
74
  processResponse?: (data: z.output<Response>) => Result;
104
- }): ((params: Util_FlatObject<ClientQueryArgs<Url, undefined>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, undefined, Result> & ClientEndpointHelper<Method, Url, undefined, Response>;
75
+ }): ((params: Util_FlatObject<QueryArgs<Url, undefined>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, undefined, Result> & EndpointHelper<Method, Url, undefined, Response>;
105
76
  query<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, Result = z.output<Response>>(config: {
106
77
  method: Method;
107
78
  url: Url;
108
79
  querySchema: QuerySchema;
109
80
  responseSchema: Response;
110
81
  processResponse?: (data: z.output<Response>) => Result;
111
- }): ((params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, QuerySchema, Result> & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
82
+ }): ((params: Util_FlatObject<QueryArgs<Url, QuerySchema>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, QuerySchema, Result> & EndpointHelper<Method, Url, undefined, Response, QuerySchema>;
83
+ query<Method extends 'POST' = 'POST', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, Result = z.output<Response>>(config: {
84
+ method: Method;
85
+ url: Url;
86
+ requestSchema: RequestSchema;
87
+ responseSchema: Response;
88
+ processResponse?: (data: z.output<Response>) => Result;
89
+ }): ((params: Util_FlatObject<QueryArgs<Url, undefined, RequestSchema>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, undefined, Result, false, RequestSchema> & EndpointHelper<Method, Url, RequestSchema, Response>;
90
+ query<Method extends 'POST' = 'POST', Url extends string = string, QuerySchema extends ZodObject = ZodObject, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, Result = z.output<Response>>(config: {
91
+ method: Method;
92
+ url: Url;
93
+ querySchema: QuerySchema;
94
+ requestSchema: RequestSchema;
95
+ responseSchema: Response;
96
+ processResponse?: (data: z.output<Response>) => Result;
97
+ }): ((params: Util_FlatObject<QueryArgs<Url, QuerySchema, RequestSchema>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, QuerySchema, Result, false, RequestSchema> & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
112
98
  infiniteQuery<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, PageResult = z.output<Response>, Result = InfiniteData<PageResult>>(config: {
113
99
  method: Method;
114
100
  url: Url;
@@ -117,7 +103,17 @@ declare interface ClientInstance {
117
103
  processResponse?: (data: z.output<Response>) => PageResult;
118
104
  getNextPageParam: (lastPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema> | undefined;
119
105
  getPreviousPageParam?: (firstPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema>;
120
- }): ((params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => UseSuspenseInfiniteQueryOptions<PageResult, Error, Result, DataTag<Split<Url, '/'>, PageResult, Error>, z.output<QuerySchema>>) & QueryHelpers<Url, QuerySchema, PageResult, true> & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
106
+ }): ((params: Util_FlatObject<QueryArgs<Url, QuerySchema>>) => UseSuspenseInfiniteQueryOptions<PageResult, Error, Result, DataTag<Split<Url, '/'>, PageResult, Error>, z.output<QuerySchema>>) & QueryHelpers<Url, QuerySchema, PageResult, true> & EndpointHelper<Method, Url, undefined, Response, QuerySchema>;
107
+ infiniteQuery<Method extends 'POST' = 'POST', Url extends string = string, QuerySchema extends ZodObject = ZodObject, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, PageResult = z.output<Response>, Result = InfiniteData<PageResult>>(config: {
108
+ method: Method;
109
+ url: Url;
110
+ querySchema: QuerySchema;
111
+ requestSchema: RequestSchema;
112
+ responseSchema: Response;
113
+ processResponse?: (data: z.output<Response>) => PageResult;
114
+ getNextPageParam: (lastPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema> | undefined;
115
+ getPreviousPageParam?: (firstPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema>;
116
+ }): ((params: Util_FlatObject<QueryArgs<Url, QuerySchema, RequestSchema>>) => UseSuspenseInfiniteQueryOptions<PageResult, Error, Result, DataTag<Split<Url, '/'>, PageResult, Error>, z.output<QuerySchema>>) & QueryHelpers<Url, QuerySchema, PageResult, true, RequestSchema> & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
121
117
  mutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
122
118
  method: Method;
123
119
  url: Url;
@@ -127,11 +123,11 @@ declare interface ClientInstance {
127
123
  responseSchema: Response;
128
124
  processResponse: ProcessResponseFunction<Result, ReqResult>;
129
125
  useContext?: () => Context;
130
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
131
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
126
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
127
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
132
128
  }): ((params: UrlHasParams<Url> extends true ? {
133
129
  urlParams: UrlParams<Url>;
134
- } : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, QuerySchema>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
130
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, QuerySchema>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
135
131
  mutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
136
132
  method: Method;
137
133
  url: Url;
@@ -140,9 +136,9 @@ declare interface ClientInstance {
140
136
  responseSchema: Response;
141
137
  processResponse: ProcessResponseFunction<Result, ReqResult>;
142
138
  useContext?: () => Context;
143
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
144
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
145
- }): (() => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, QuerySchema>>) & ClientEndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
139
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
140
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
141
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, QuerySchema>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
146
142
  mutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
147
143
  method: Method;
148
144
  url: Url;
@@ -150,9 +146,9 @@ declare interface ClientInstance {
150
146
  responseSchema: Response;
151
147
  processResponse: ProcessResponseFunction<Result, ReqResult>;
152
148
  useContext?: () => Context;
153
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
154
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
155
- }): (() => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, RequestSchema, Response>;
149
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
150
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
151
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response>;
156
152
  mutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
157
153
  method: Method;
158
154
  url: Url;
@@ -161,9 +157,11 @@ declare interface ClientInstance {
161
157
  responseSchema: Response;
162
158
  processResponse: ProcessResponseFunction<Result, ReqResult>;
163
159
  useContext?: () => Context;
164
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
165
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
166
- }): ((params: UrlHasParams<Url> extends true ? UrlParams<Url> : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, RequestSchema, Response>;
160
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
161
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
162
+ }): ((params: UrlHasParams<Url> extends true ? {
163
+ urlParams: UrlParams<Url>;
164
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response>;
167
165
  mutation<Method extends 'DELETE' = 'DELETE', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
168
166
  method: Method;
169
167
  url: Url;
@@ -172,9 +170,11 @@ declare interface ClientInstance {
172
170
  responseSchema: Response;
173
171
  processResponse: ProcessResponseFunction<Result, ReqResult>;
174
172
  useContext?: () => Context;
175
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
176
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
177
- }): ((params: UrlHasParams<Url> extends true ? UrlParams<Url> : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, QuerySchema>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
173
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
174
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
175
+ }): ((params: UrlHasParams<Url> extends true ? {
176
+ urlParams: UrlParams<Url>;
177
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, undefined, QuerySchema>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, undefined, Response, QuerySchema>;
178
178
  mutation<Method extends 'DELETE' = 'DELETE', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
179
179
  method: Method;
180
180
  url: Url;
@@ -182,9 +182,9 @@ declare interface ClientInstance {
182
182
  responseSchema: Response;
183
183
  processResponse: ProcessResponseFunction<Result, ReqResult>;
184
184
  useContext?: () => Context;
185
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
186
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
187
- }): (() => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, QuerySchema>>) & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
185
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
186
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
187
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, undefined, QuerySchema>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, undefined, Response, QuerySchema>;
188
188
  mutation<Method extends 'DELETE' = 'DELETE', Url extends string = string, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
189
189
  method: Method;
190
190
  url: Url;
@@ -192,137 +192,174 @@ declare interface ClientInstance {
192
192
  responseSchema: Response;
193
193
  processResponse: ProcessResponseFunction<Result, ReqResult>;
194
194
  useContext?: () => Context;
195
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
196
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
197
- }): ((params: UrlHasParams<Url> extends true ? UrlParams<Url> : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, undefined>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, undefined, Response>;
195
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
196
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
197
+ }): ((params: UrlHasParams<Url> extends true ? {
198
+ urlParams: UrlParams<Url>;
199
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, undefined, undefined>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, undefined, Response>;
198
200
  mutation<Method extends 'DELETE' = 'DELETE', Url extends string = string, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
199
201
  method: Method;
200
202
  url: Url;
201
203
  responseSchema: Response;
202
204
  processResponse: ProcessResponseFunction<Result, ReqResult>;
203
205
  useContext?: () => Context;
204
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
205
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
206
- }): (() => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, undefined>>) & ClientEndpointHelper<Method, Url, undefined, Response>;
207
- queryFromEndpoint<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, Result = z.output<Response>>(endpoint: any & {
206
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
207
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
208
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, undefined, undefined>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, undefined, Response>;
209
+ queryFromEndpoint<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, Result = z.output<Response>>(endpoint: {
208
210
  config: BaseEndpointConfig<Method, Url, QuerySchema, Response>;
209
211
  }, options?: {
210
212
  processResponse?: (data: z.output<Response>) => Result;
211
- }): (params: UrlHasParams<Url> extends true ? {
212
- urlParams: UrlParams<Url>;
213
- } : {}) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>> & QueryHelpers<Url, QuerySchema, Result>;
214
- queryFromEndpoint<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, Response extends ZodType = ZodType, Result = z.output<Response>>(endpoint: any & {
213
+ }): (params: Util_FlatObject<QueryArgs<Url, QuerySchema>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>> & QueryHelpers<Url, QuerySchema, Result>;
214
+ queryFromEndpoint<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, Response extends ZodType = ZodType, Result = z.output<Response>>(endpoint: {
215
215
  config: BaseEndpointConfig<Method, Url, undefined, Response>;
216
216
  }, options?: {
217
217
  processResponse?: (data: z.output<Response>) => Result;
218
- }): ((params: UrlHasParams<Url> extends true ? {
219
- urlParams: UrlParams<Url>;
220
- } : {}) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, undefined, Result>;
221
- infiniteQueryFromEndpoint<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, PageResult = z.output<Response>, Result = InfiniteData<PageResult>>(endpoint: any & {
218
+ }): ((params: Util_FlatObject<QueryArgs<Url, undefined>>) => UseSuspenseQueryOptions<Result, Error, Result, DataTag<Split<Url, '/'>, Result, Error>>) & QueryHelpers<Url, undefined, Result>;
219
+ infiniteQueryFromEndpoint<Method extends 'GET' | 'HEAD' | 'OPTIONS' = 'GET', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, PageResult = z.output<Response>, Result = InfiniteData<PageResult>>(endpoint: {
222
220
  config: BaseEndpointConfig<Method, Url, QuerySchema, Response>;
223
221
  }, options: {
224
222
  processResponse?: (data: z.output<Response>) => PageResult;
225
223
  getNextPageParam: (lastPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema> | undefined;
226
224
  getPreviousPageParam?: (firstPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema>;
227
- }): ((params: UrlHasParams<Url> extends true ? {
228
- urlParams: UrlParams<Url>;
229
- } : {}) => UseSuspenseInfiniteQueryOptions<PageResult, Error, Result, DataTag<Split<Url, '/'>, PageResult, Error>, z.output<QuerySchema>>) & QueryHelpers<Url, QuerySchema, PageResult, true>;
230
- mutationFromEndpoint<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(endpoint: any & {
225
+ }): ((params: Util_FlatObject<QueryArgs<Url, QuerySchema>>) => UseSuspenseInfiniteQueryOptions<PageResult, Error, Result, DataTag<Split<Url, '/'>, PageResult, Error>, z.output<QuerySchema>>) & QueryHelpers<Url, QuerySchema, PageResult, true>;
226
+ mutationFromEndpoint<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(endpoint: {
231
227
  config: BaseEndpointConfig<Method, Url, QuerySchema, Response, RequestSchema>;
232
228
  }, mutationOptions: {
233
229
  processResponse: ProcessResponseFunction<Result, ReqResult>;
234
230
  useKey: UseKey;
235
231
  useContext?: () => Context;
236
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
237
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
238
- }): ((params: UrlHasParams<Url> extends true ? UrlParams<Url> : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, QuerySchema>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
239
- mutationFromEndpoint<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(endpoint: any & {
232
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
233
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
234
+ }): ((params: UrlHasParams<Url> extends true ? {
235
+ urlParams: UrlParams<Url>;
236
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, QuerySchema>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
237
+ mutationFromEndpoint<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(endpoint: {
240
238
  config: BaseEndpointConfig<Method, Url, undefined, Response, RequestSchema>;
241
239
  }, mutationOptions: {
242
240
  processResponse: ProcessResponseFunction<Result, ReqResult>;
243
241
  useKey: UseKey;
244
242
  useContext?: () => Context;
245
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
246
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
247
- }): ((params: UrlHasParams<Url> extends true ? UrlParams<Url> : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, RequestSchema, Response, undefined>;
248
- mutationFromEndpoint<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(endpoint: any & {
243
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
244
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
245
+ }): ((params: UrlHasParams<Url> extends true ? {
246
+ urlParams: UrlParams<Url>;
247
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response, undefined>;
248
+ mutationFromEndpoint<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(endpoint: {
249
249
  config: BaseEndpointConfig<Method, Url, QuerySchema, Response, RequestSchema>;
250
250
  }, mutationOptions: {
251
251
  processResponse: ProcessResponseFunction<Result, ReqResult>;
252
252
  useContext?: () => Context;
253
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
254
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
255
- }): (() => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, QuerySchema>>) & ClientEndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
256
- mutationFromEndpoint<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(endpoint: any & {
253
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
254
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
255
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, QuerySchema>>) & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
256
+ mutationFromEndpoint<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(endpoint: {
257
257
  config: BaseEndpointConfig<Method, Url, undefined, Response, RequestSchema>;
258
258
  }, mutationOptions: {
259
259
  processResponse: ProcessResponseFunction<Result, ReqResult>;
260
260
  useContext?: () => Context;
261
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
262
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
263
- }): (() => UseMutationResult<Result, Error, ClientMutationArgs<Url, RequestSchema, undefined>>) & ClientEndpointHelper<Method, Url, RequestSchema, Response, undefined>;
264
- mutationFromEndpoint<Method extends 'DELETE' = 'DELETE', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(endpoint: any & {
261
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
262
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
263
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, undefined>>) & EndpointHelper<Method, Url, RequestSchema, Response, undefined>;
264
+ mutationFromEndpoint<Method extends 'DELETE' = 'DELETE', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(endpoint: {
265
265
  config: BaseEndpointConfig<Method, Url, QuerySchema, Response>;
266
266
  }, mutationOptions: {
267
267
  processResponse: ProcessResponseFunction<Result, ReqResult>;
268
268
  useKey: UseKey;
269
269
  useContext?: () => Context;
270
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
271
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
272
- }): ((params: UrlHasParams<Url> extends true ? UrlParams<Url> : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, QuerySchema>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
273
- mutationFromEndpoint<Method extends 'DELETE' = 'DELETE', Url extends string = string, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(endpoint: any & {
270
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
271
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
272
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, undefined, QuerySchema>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, undefined, Response, QuerySchema>;
273
+ mutationFromEndpoint<Method extends 'DELETE' = 'DELETE', Url extends string = string, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(endpoint: {
274
274
  config: BaseEndpointConfig<Method, Url, undefined, Response>;
275
275
  }, mutationOptions: {
276
276
  processResponse: ProcessResponseFunction<Result, ReqResult>;
277
277
  useKey: UseKey;
278
278
  useContext?: () => Context;
279
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
280
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
281
- }): ((params: UrlHasParams<Url> extends true ? UrlParams<Url> : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, undefined>>) & MutationHelpers<Url, Result> & ClientEndpointHelper<Method, Url, undefined, Response, undefined>;
282
- mutationFromEndpoint<Method extends 'DELETE' = 'DELETE', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(endpoint: any & {
279
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
280
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
281
+ }): ((params: UrlHasParams<Url> extends true ? {
282
+ urlParams: UrlParams<Url>;
283
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, undefined, undefined>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, undefined, Response, undefined>;
284
+ mutationFromEndpoint<Method extends 'DELETE' = 'DELETE', Url extends string = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(endpoint: {
283
285
  config: BaseEndpointConfig<Method, Url, QuerySchema, Response>;
284
286
  }, mutationOptions: {
285
287
  processResponse: ProcessResponseFunction<Result, ReqResult>;
286
288
  useContext?: () => Context;
287
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
288
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
289
- }): (() => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, QuerySchema>>) & ClientEndpointHelper<Method, Url, undefined, Response, QuerySchema>;
290
- mutationFromEndpoint<Method extends 'DELETE' = 'DELETE', Url extends string = string, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(endpoint: any & {
289
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
290
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, undefined, QuerySchema>>, context: Context) => void | Promise<void>;
291
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, undefined, QuerySchema>>) & EndpointHelper<Method, Url, undefined, Response, QuerySchema>;
292
+ mutationFromEndpoint<Method extends 'DELETE' = 'DELETE', Url extends string = string, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(endpoint: {
291
293
  config: BaseEndpointConfig<Method, Url, undefined, Response>;
292
294
  }, mutationOptions: {
293
295
  processResponse: ProcessResponseFunction<Result, ReqResult>;
294
296
  useContext?: () => Context;
295
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
296
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
297
- }): ((params: UrlHasParams<Url> extends true ? UrlParams<Url> : {}) => UseMutationResult<Result, Error, ClientMutationArgs<Url, undefined, undefined>>) & ClientEndpointHelper<Method, Url, undefined, Response, undefined>;
297
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
298
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, undefined, undefined>>, context: Context) => void | Promise<void>;
299
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, undefined, undefined>>) & EndpointHelper<Method, Url, undefined, Response, undefined>;
300
+ multipartMutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
301
+ method: Method;
302
+ url: Url;
303
+ useKey: UseKey;
304
+ requestSchema: RequestSchema;
305
+ querySchema: QuerySchema;
306
+ responseSchema: Response;
307
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
308
+ useContext?: () => Context;
309
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
310
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
311
+ }): ((params: UrlHasParams<Url> extends true ? {
312
+ urlParams: UrlParams<Url>;
313
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, QuerySchema>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
314
+ multipartMutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
315
+ method: Method;
316
+ url: Url;
317
+ requestSchema: RequestSchema;
318
+ querySchema: QuerySchema;
319
+ responseSchema: Response;
320
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
321
+ useContext?: () => Context;
322
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
323
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
324
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, QuerySchema>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response, QuerySchema>;
325
+ multipartMutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown>(config: {
326
+ method: Method;
327
+ url: Url;
328
+ requestSchema: RequestSchema;
329
+ responseSchema: Response;
330
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
331
+ useContext?: () => Context;
332
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
333
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
334
+ }): (() => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response>;
335
+ multipartMutation<Method extends 'POST' | 'PUT' | 'PATCH' = 'POST' | 'PUT' | 'PATCH', Url extends string = string, RequestSchema extends ZodType = ZodType, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends true = true>(config: {
336
+ method: Method;
337
+ url: Url;
338
+ useKey: UseKey;
339
+ requestSchema: RequestSchema;
340
+ responseSchema: Response;
341
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
342
+ useContext?: () => Context;
343
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
344
+ onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<MutationArgs<Url, RequestSchema, undefined>>, context: Context) => void | Promise<void>;
345
+ }): ((params: UrlHasParams<Url> extends true ? {
346
+ urlParams: UrlParams<Url>;
347
+ } : {}) => UseMutationResult<Result, Error, MutationArgs<Url, RequestSchema, undefined>>) & MutationHelpers<Url, Result> & EndpointHelper<Method, Url, RequestSchema, Response>;
298
348
  }
299
349
  export { ClientInstance }
300
350
  export { ClientInstance as ClientInstance_alias_1 }
301
351
  export { ClientInstance as ClientInstance_alias_2 }
302
352
 
303
- declare type ClientMutationArgs<Url extends string = string, RequestSchema = unknown, QuerySchema = unknown> = (UrlHasParams<Url> extends true ? {
304
- urlParams: UrlParams<Url>;
305
- } : {}) & (RequestSchema extends ZodObject ? {
306
- data: z.input<RequestSchema>;
307
- } : {}) & (QuerySchema extends ZodObject ? {
308
- params: z.input<QuerySchema>;
309
- } : {});
353
+ /** @deprecated Use MutationArgs instead */
354
+ declare type ClientMutationArgs<Url extends string = string, RequestSchema = unknown, QuerySchema = unknown> = MutationArgs<Url, RequestSchema, QuerySchema>;
310
355
  export { ClientMutationArgs }
311
356
  export { ClientMutationArgs as ClientMutationArgs_alias_1 }
312
357
  export { ClientMutationArgs as ClientMutationArgs_alias_2 }
313
358
 
314
- declare interface ClientMutationDataConfig<Method extends 'POST' | 'PUT' | 'PATCH' | 'DELETE' = 'POST' | 'PUT' | 'PATCH' | 'DELETE', Url extends string = string, RequestSchema = Method extends 'DELETE' ? never : ZodObject, QuerySchema = unknown, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends boolean = false> extends ClientEndpointDefinition<Method, Url, QuerySchema, Response> {
315
- requestSchema?: RequestSchema;
316
- processResponse: ProcessResponseFunction<Result, ReqResult>;
317
- useContext?: () => Context;
318
- onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
319
- onError?: (queryClient: QueryClient, error: Error, variables: Util_FlatObject<ClientMutationArgs<Url, RequestSchema, QuerySchema>>, context: Context) => void | Promise<void>;
320
- useKey?: UseKey;
321
- }
322
- export { ClientMutationDataConfig }
323
- export { ClientMutationDataConfig as ClientMutationDataConfig_alias_1 }
324
-
325
- declare type ClientOptions<ProcessResponse = unknown> = {
359
+ /**
360
+ * Options for creating a client instance.
361
+ */
362
+ declare type ClientOptions = {
326
363
  api: BuilderInstance;
327
364
  defaults?: {
328
365
  keyPrefix?: string[];
@@ -331,79 +368,249 @@ declare type ClientOptions<ProcessResponse = unknown> = {
331
368
  };
332
369
  export { ClientOptions }
333
370
  export { ClientOptions as ClientOptions_alias_1 }
371
+ export { ClientOptions as ClientOptions_alias_2 }
334
372
 
335
- declare type ClientQueryArgs<Url extends string = string, QuerySchema = ZodObject> = (UrlHasParams<Url> extends true ? {
336
- urlParams: UrlParams<Url>;
337
- } : {}) & (QuerySchema extends ZodObject ? {
338
- params: z.input<QuerySchema>;
339
- } : {});
373
+ /** @deprecated Use QueryArgs instead */
374
+ declare type ClientQueryArgs<Url extends string = string, QuerySchema = ZodObject, RequestSchema = undefined> = QueryArgs<Url, QuerySchema, RequestSchema>;
340
375
  export { ClientQueryArgs }
341
376
  export { ClientQueryArgs as ClientQueryArgs_alias_1 }
342
377
  export { ClientQueryArgs as ClientQueryArgs_alias_2 }
343
378
 
344
- declare interface ClientQueryConfig<Method = HttpMethod, Url = string, QuerySchema = ZodObject, Response extends ZodType = ZodType, Result = z.output<Response>> extends ClientEndpointDefinition<Method, Url, QuerySchema, Response> {
345
- processResponse?: (data: z.output<Response>) => Result;
346
- }
347
- export { ClientQueryConfig }
348
- export { ClientQueryConfig as ClientQueryConfig_alias_1 }
349
-
350
- declare type ClientQueryUrlParamsArgs<Url extends string = string> = UrlHasParams<Url> extends true ? {
351
- urlParams: UrlParams<Url>;
352
- } : {} | undefined;
379
+ /** @deprecated Use QueryUrlParamsArgs instead */
380
+ declare type ClientQueryUrlParamsArgs<Url extends string = string> = QueryUrlParamsArgs<Url>;
353
381
  export { ClientQueryUrlParamsArgs }
354
382
  export { ClientQueryUrlParamsArgs as ClientQueryUrlParamsArgs_alias_1 }
355
383
  export { ClientQueryUrlParamsArgs as ClientQueryUrlParamsArgs_alias_2 }
356
384
 
385
+ /**
386
+ * Creates a mutation key generator for a given endpoint configuration.
387
+ *
388
+ * @param config - The endpoint configuration
389
+ * @param options - Optional query parameters with a default `processResponse` function
390
+ * @returns A function that generates mutation keys
391
+ *
392
+ * @example Basic usage:
393
+ * ```typescript
394
+ * const createMutationKey = createMutationKey(endpoint.config);
395
+ * const mutationKey = createMutationKey({ urlParams: { id: 123 } });
396
+ * ```
397
+ *
398
+ * @example Advanced usage with processResponse:
399
+ * ```ts
400
+ * const createMutationKey = createMutationKey(endpoint.config, {
401
+ * processResponse: (data) => {
402
+ * if (!data.success) {
403
+ * throw new Error(data.message);
404
+ * }
405
+ * return data.data;
406
+ * },
407
+ * });
408
+ * // We create a mutation that will be shared across the project for all passed userId
409
+ * const mutationKey = createMutationKey({ urlParams: { projectId: 123, userId: 'wildcard' } });
410
+ * ```
411
+ */
412
+ declare function createMutationKey<Config extends AnyEndpointConfig, Options extends QueryParams<Config>, Url extends Config['url'] = Config['url'], HasParams extends UrlHasParams<Url> = UrlHasParams<Url>>(config: Config, options?: Options): (params: HasParams extends true ? {
413
+ urlParams: UrlParams<Url>;
414
+ } : {}) => Options['processResponse'] extends (...args: unknown[]) => infer Result ? DataTag<[Config['url']], Result, Error> : never;
415
+ export { createMutationKey }
416
+ export { createMutationKey as createMutationKey_alias_1 }
417
+ export { createMutationKey as createMutationKey_alias_2 }
418
+
419
+ /**
420
+ * Creates a query key generator for a given endpoint configuration.
421
+ *
422
+ * The returned object provides methods to generate query keys that can be used
423
+ * with TanStack Query for caching, invalidation, and data tagging.
424
+ *
425
+ * @param config - The endpoint configuration
426
+ * @param options - Query parameters including processResponse and key prefix/suffix
427
+ * @param isInfinite - Whether this is for an infinite query
428
+ * @returns An object with methods to generate query keys
429
+ */
430
+ declare function createQueryKey<Config extends AnyEndpointConfig, Options extends QueryParams<Config>, IsInfinite extends boolean, Url extends Config['url'] = Config['url'], HasParams extends UrlHasParams<Url> = UrlHasParams<Url>>(config: Config, options: Options, _isInfinite: IsInfinite): QueryKeyCreatorResult<Config['querySchema'], Url, Options['processResponse'] extends (...args: any[]) => infer Result ? Result : never, IsInfinite, HasParams>;
431
+ export { createQueryKey }
432
+ export { createQueryKey as createQueryKey_alias_1 }
433
+ export { createQueryKey as createQueryKey_alias_2 }
434
+
435
+ /**
436
+ * Creates a client instance for making type-safe queries and mutations.
437
+ *
438
+ * @param options - Client configuration including the API builder and defaults
439
+ * @returns A client instance with query, infiniteQuery, and mutation methods
440
+ *
441
+ * @example
442
+ * ```typescript
443
+ * const api = createBuilder({ baseUrl: '/api' });
444
+ * const client = declareClient({ api });
445
+ *
446
+ * const getUser = client.query({
447
+ * method: 'GET',
448
+ * url: '/users/$id',
449
+ * responseSchema: UserSchema,
450
+ * });
451
+ *
452
+ * // In a component
453
+ * const { data } = useSuspenseQuery(getUser({ urlParams: { id: '123' } }));
454
+ * ```
455
+ */
357
456
  declare function declareClient<Options extends ClientOptions>({ api, defaults, }: Options): ClientInstance;
358
457
  export { declareClient }
359
458
  export { declareClient as declareClient_alias_1 }
459
+ export { declareClient as declareClient_alias_2 }
460
+
461
+ /**
462
+ * Helper type that attaches the endpoint to query/mutation results.
463
+ */
464
+ declare type EndpointHelper<Method extends HttpMethod = HttpMethod, Url extends string = string, RequestSchema = unknown, ResponseSchema extends z.ZodType = z.ZodType, QuerySchema = unknown> = {
465
+ endpoint: ((params: Util_FlatObject<EndpointFunctionArgs<Url, QuerySchema, RequestSchema>>) => Promise<z.output<ResponseSchema>>) & {
466
+ config: BaseEndpointConfig<Method, Url, QuerySchema, ResponseSchema, RequestSchema>;
467
+ };
468
+ };
469
+ export { EndpointHelper }
470
+ export { EndpointHelper as EndpointHelper_alias_1 }
471
+ export { EndpointHelper as EndpointHelper_alias_2 }
360
472
 
473
+ /**
474
+ * Configuration for declaring an infinite query endpoint.
475
+ */
476
+ declare type InfiniteQueryConfig<Method = HttpMethod, Url = string, QuerySchema extends ZodObject = ZodObject, Response extends ZodType = ZodType, PageResult = z.output<Response>, Result = InfiniteData<PageResult>, RequestSchema = unknown> = {
477
+ method: Method;
478
+ url: Url;
479
+ querySchema: QuerySchema;
480
+ responseSchema: Response;
481
+ requestSchema?: RequestSchema;
482
+ processResponse?: (data: z.output<Response>) => PageResult;
483
+ select?: (data: InfiniteData<PageResult>) => Result;
484
+ getNextPageParam: (lastPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema> | undefined;
485
+ getPreviousPageParam?: (firstPage: PageResult, allPages: PageResult[], lastPageParam: z.infer<QuerySchema> | undefined, allPageParams: z.infer<QuerySchema>[] | undefined) => z.input<QuerySchema>;
486
+ initialPageParam?: z.input<QuerySchema>;
487
+ };
488
+ export { InfiniteQueryConfig }
489
+ export { InfiniteQueryConfig as InfiniteQueryConfig_alias_1 }
490
+ export { InfiniteQueryConfig as InfiniteQueryConfig_alias_2 }
491
+
492
+ /**
493
+ * Options for infinite query configuration.
494
+ */
361
495
  declare type InfiniteQueryOptions<Config extends BaseEndpointConfig<HttpMethod, string, ZodObject>, Res = any> = {
362
496
  keyPrefix?: string[];
363
497
  keySuffix?: string[];
364
498
  processResponse: (data: z.infer<Config['responseSchema']>) => Res;
365
499
  onFail?: (err: unknown) => void;
366
500
  getNextPageParam: (lastPage: Res, allPages: Res[], lastPageParam: z.infer<Config['querySchema']> | undefined, allPageParams: z.infer<Config['querySchema']>[] | undefined) => z.input<Config['querySchema']> | z.infer<Config['querySchema']> | undefined;
501
+ getPreviousPageParam?: (firstPage: Res, allPages: Res[], lastPageParam: z.infer<Config['querySchema']> | undefined, allPageParams: z.infer<Config['querySchema']>[] | undefined) => z.input<Config['querySchema']>;
367
502
  initialPageParam?: z.input<Config['querySchema']> | z.infer<Config['querySchema']>;
368
503
  };
369
504
  export { InfiniteQueryOptions }
370
505
  export { InfiniteQueryOptions as InfiniteQueryOptions_alias_1 }
506
+ export { InfiniteQueryOptions as InfiniteQueryOptions_alias_2 }
371
507
 
508
+ /**
509
+ * Creates infinite query options for a given endpoint.
510
+ *
511
+ * Returns a function that generates TanStack Query infinite options when called with params.
512
+ * The returned function also has helper methods attached (use, useSuspense, invalidate, etc.)
513
+ *
514
+ * @param endpoint - The navios endpoint to create infinite query options for
515
+ * @param options - Infinite query configuration including processResponse and pagination params
516
+ * @param baseQuery - Optional base query options to merge
517
+ * @returns A function that generates infinite query options with attached helpers
518
+ */
372
519
  declare function makeInfiniteQueryOptions<Config extends AnyEndpointConfig, Options extends InfiniteQueryOptions<Config>, BaseQuery extends Omit<UseInfiniteQueryOptions<ReturnType<Options['processResponse']>, Error, any>, 'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam' | 'placeholderData' | 'throwOnError'>>(endpoint: AbstractEndpoint<Config>, options: Options, baseQuery?: BaseQuery): {
373
- (params: ClientQueryArgs): Options["processResponse"] extends (...args: any[]) => infer Result ? UseSuspenseInfiniteQueryOptions<Result, Error, BaseQuery["select"] extends (...args: any[]) => infer T ? T : InfiniteData<Result>> : never;
520
+ (params: QueryArgs<Config["url"], Config["querySchema"]>): Options["processResponse"] extends (...args: any[]) => infer Result ? UseSuspenseInfiniteQueryOptions<Result, Error, BaseQuery["select"] extends (...args: any[]) => infer T ? T : InfiniteData<Result>> : never;
374
521
  queryKey: QueryKeyCreatorResult_2<Config["querySchema"], Config["url"], Options["processResponse"] extends (...args: any[]) => infer Result ? Result : never, true, UrlHasParams<Config["url"]>>;
375
- use(params: ClientQueryArgs): UseInfiniteQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : InfiniteData<unknown, unknown>, Error>;
376
- useSuspense(params: ClientQueryArgs): UseSuspenseInfiniteQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : InfiniteData<unknown, unknown>, Error>;
377
- invalidate(queryClient: QueryClient, params: ClientQueryArgs): Promise<void>;
378
- invalidateAll(queryClient: QueryClient, params: ClientQueryArgs): Promise<void>;
522
+ use(params: QueryArgs<Config["url"], Config["querySchema"]>): UseInfiniteQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : InfiniteData<unknown, unknown>, Error>;
523
+ useSuspense(params: QueryArgs<Config["url"], Config["querySchema"]>): UseSuspenseInfiniteQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : InfiniteData<unknown, unknown>, Error>;
524
+ invalidate(queryClient: QueryClient, params: QueryArgs<Config["url"], Config["querySchema"]>): Promise<void>;
525
+ invalidateAll(queryClient: QueryClient, params: QueryArgs<Config["url"], Config["querySchema"]>): Promise<void>;
379
526
  };
380
527
  export { makeInfiniteQueryOptions }
381
528
  export { makeInfiniteQueryOptions as makeInfiniteQueryOptions_alias_1 }
529
+ export { makeInfiniteQueryOptions as makeInfiniteQueryOptions_alias_2 }
382
530
 
383
- declare function makeMutation<Config extends AnyEndpointConfig, TData = unknown, TVariables extends BaseMutationArgs<Config> = BaseMutationArgs<Config>, TResponse = z.output<Config['responseSchema']>, TContext = unknown, UseKey extends boolean = false>(endpoint: AbstractEndpoint<Config>, options: BaseMutationParams<Config, TData, TVariables, TResponse, TContext, UseKey>): {
384
- (keyParams: UseKey extends true ? UrlHasParams<Config["url"]> extends true ? UrlParams<Config["url"]> : never : never): UseMutationResult<TData, Error, BaseMutationArgs<Config>>;
531
+ /**
532
+ * Creates a mutation hook for a given endpoint.
533
+ *
534
+ * Returns a function that when called returns a TanStack Query mutation result.
535
+ * The returned function also has helper methods attached (mutationKey, useIsMutating).
536
+ *
537
+ * @param endpoint - The navios endpoint to create a mutation hook for
538
+ * @param options - Mutation configuration including processResponse and callbacks
539
+ * @returns A hook function that returns mutation result with attached helpers
540
+ */
541
+ declare function makeMutation<Config extends AnyEndpointConfig, TData = unknown, TVariables extends NaviosZodRequest<Config> = NaviosZodRequest<Config>, TResponse = z.output<Config['responseSchema']>, TContext = unknown, UseKey extends boolean = false>(endpoint: AbstractEndpoint<Config>, options: MutationParams<Config, TData, TVariables, TResponse, TContext, UseKey>): {
542
+ (keyParams: UseKey extends true ? UrlHasParams<Config["url"]> extends true ? UrlParams<Config["url"]> : never : never): UseMutationResult<TData, Error, NaviosZodRequest<Config>>;
385
543
  useIsMutating(keyParams: UseKey extends true ? UrlHasParams<Config["url"]> extends true ? UrlParams<Config["url"]> : never : never): boolean;
386
544
  mutationKey: (params: UrlHasParams<Config["url"]> extends infer T ? T extends UrlHasParams<Config["url"]> ? T extends true ? {
387
545
  urlParams: UrlParams<Config["url"]>;
388
- } : {} : never : never) => [Config["url"]] & {
389
- [dataTagSymbol]: TData | Promise<TData>;
546
+ } : {} : never : never) => ProcessResponseFunction_2<TData, TResponse> extends (...args: unknown[]) => infer Result ? [Config["url"]] & {
547
+ [dataTagSymbol]: Result;
390
548
  [dataTagErrorSymbol]: Error;
391
- };
549
+ } : never;
392
550
  };
393
551
  export { makeMutation }
394
552
  export { makeMutation as makeMutation_alias_1 }
553
+ export { makeMutation as makeMutation_alias_2 }
395
554
 
396
- declare function makeQueryOptions<Config extends AnyEndpointConfig, Options extends BaseQueryParams<Config>, BaseQuery extends Omit<UseQueryOptions<ReturnType<Options['processResponse']>, Error, any>, 'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam' | 'enabled' | 'throwOnError' | 'placeholderData'>>(endpoint: AbstractEndpoint<Config>, options: Options, baseQuery?: BaseQuery): {
397
- (params: BaseQueryArgs<Config>): Options["processResponse"] extends (...args: any[]) => infer Result ? UseSuspenseQueryOptions<Result, Error, BaseQuery["select"] extends (...args: any[]) => infer T ? T : Result, DataTag<Split_3<Config["url"], "/">, Result, Error>> : never;
555
+ /**
556
+ * Creates query options for a given endpoint.
557
+ *
558
+ * Returns a function that generates TanStack Query options when called with params.
559
+ * The returned function also has helper methods attached (use, useSuspense, invalidate, etc.)
560
+ *
561
+ * @param endpoint - The navios endpoint to create query options for
562
+ * @param options - Query configuration including processResponse
563
+ * @param baseQuery - Optional base query options to merge
564
+ * @returns A function that generates query options with attached helpers
565
+ */
566
+ declare function makeQueryOptions<Config extends AnyEndpointConfig, Options extends QueryParams<Config>, BaseQuery extends Omit<UseQueryOptions<ReturnType<Options['processResponse']>, Error, any>, 'queryKey' | 'queryFn' | 'getNextPageParam' | 'initialPageParam' | 'enabled' | 'throwOnError' | 'placeholderData'>>(endpoint: AbstractEndpoint<Config>, options: Options, baseQuery?: BaseQuery): {
567
+ (params: QueryArgs<Config["url"], Config["querySchema"]>): Options["processResponse"] extends (...args: any[]) => infer Result ? UseSuspenseQueryOptions<Result, Error, BaseQuery["select"] extends (...args: any[]) => infer T ? T : Result, DataTag<Split<Config["url"], "/">, Result, Error>> : never;
398
568
  queryKey: QueryKeyCreatorResult_2<Config["querySchema"], Config["url"], Options["processResponse"] extends (...args: any[]) => infer Result ? Result : never, false, UrlHasParams<Config["url"]>>;
399
- use(params: ClientQueryArgs): UseQueryResult<NoInfer_2<BaseQuery["select"] extends (...args: any[]) => infer T ? T : unknown>, Error>;
400
- useSuspense(params: ClientQueryArgs): UseSuspenseQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : unknown, Error>;
401
- invalidate(queryClient: QueryClient, params: ClientQueryArgs): Promise<void>;
402
- invalidateAll(queryClient: QueryClient, params: ClientQueryArgs): Promise<void>;
569
+ use(params: QueryArgs<Config["url"], Config["querySchema"]>): UseQueryResult<NoInfer_2<BaseQuery["select"] extends (...args: any[]) => infer T ? T : unknown>, Error>;
570
+ useSuspense(params: QueryArgs<Config["url"], Config["querySchema"]>): UseSuspenseQueryResult<BaseQuery["select"] extends (...args: any[]) => infer T ? T : unknown, Error>;
571
+ invalidate(queryClient: QueryClient, params: QueryArgs<Config["url"], Config["querySchema"]>): Promise<void>;
572
+ invalidateAll(queryClient: QueryClient, params: QueryArgs<Config["url"], Config["querySchema"]>): Promise<void>;
403
573
  };
404
574
  export { makeQueryOptions }
405
575
  export { makeQueryOptions as makeQueryOptions_alias_1 }
576
+ export { makeQueryOptions as makeQueryOptions_alias_2 }
406
577
 
578
+ /**
579
+ * Arguments for mutation functions based on URL params, request schema, and query schema.
580
+ */
581
+ declare type MutationArgs<Url extends string = string, RequestSchema = unknown, QuerySchema = unknown> = (UrlHasParams<Url> extends true ? {
582
+ urlParams: UrlParams<Url>;
583
+ } : {}) & (RequestSchema extends ZodObject ? {
584
+ data: z.input<RequestSchema>;
585
+ } : {}) & (QuerySchema extends ZodObject ? {
586
+ params: z.input<QuerySchema>;
587
+ } : {});
588
+ export { MutationArgs }
589
+ export { MutationArgs as MutationArgs_alias_1 }
590
+ export { MutationArgs as MutationArgs_alias_2 }
591
+
592
+ /**
593
+ * Configuration for declaring a mutation endpoint.
594
+ */
595
+ declare interface MutationConfig<Method extends 'POST' | 'PUT' | 'PATCH' | 'DELETE' = 'POST' | 'PUT' | 'PATCH' | 'DELETE', Url extends string = string, RequestSchema = Method extends 'DELETE' ? never : ZodObject, QuerySchema = unknown, Response extends ZodType = ZodType, ReqResult = z.output<Response>, Result = unknown, Context = unknown, UseKey extends boolean = false> {
596
+ method: Method;
597
+ url: Url;
598
+ querySchema?: QuerySchema;
599
+ responseSchema: Response;
600
+ requestSchema?: RequestSchema;
601
+ processResponse: ProcessResponseFunction<Result, ReqResult>;
602
+ useContext?: () => Context;
603
+ onSuccess?: (queryClient: QueryClient, data: NoInfer<Result>, variables: MutationArgs<Url, RequestSchema, QuerySchema>, context: Context) => void | Promise<void>;
604
+ onError?: (queryClient: QueryClient, error: Error, variables: MutationArgs<Url, RequestSchema, QuerySchema>, context: Context) => void | Promise<void>;
605
+ useKey?: UseKey;
606
+ }
607
+ export { MutationConfig }
608
+ export { MutationConfig as MutationConfig_alias_1 }
609
+ export { MutationConfig as MutationConfig_alias_2 }
610
+
611
+ /**
612
+ * Helper methods attached to mutation hooks.
613
+ */
407
614
  declare type MutationHelpers<Url extends string, Result = unknown> = UrlHasParams<Url> extends true ? {
408
615
  mutationKey: (params: UrlParams<Url>) => DataTag<[Url], Result, Error>;
409
616
  useIsMutating: (keyParams: UrlParams<Url>) => boolean;
@@ -415,88 +622,145 @@ export { MutationHelpers }
415
622
  export { MutationHelpers as MutationHelpers_alias_1 }
416
623
  export { MutationHelpers as MutationHelpers_alias_2 }
417
624
 
625
+ /** @deprecated Use createMutationKey instead */
626
+ declare const mutationKeyCreator: typeof createMutationKey;
627
+ export { mutationKeyCreator }
628
+ export { mutationKeyCreator as mutationKeyCreator_alias_1 }
629
+ export { mutationKeyCreator as mutationKeyCreator_alias_2 }
630
+
418
631
  /**
419
- * Creates a mutation key for a given endpoint configuration and options.
420
- *
421
- * @param {config: Config } config - The endpoint object containing the configuration.
422
- * @param {Options} [options] - Optional query parameters with a default `processResponse` function that processes the response data.
423
- *
424
- * @returns {Object} An object containing the `mutationKey` function.
425
- *
426
- * The `mutationKey` function generates a mutation key based on the provided parameters:
427
- * - If the URL has parameters (`HasParams` is `true`), it expects an object with `urlParams`.
428
- * - The return type of the `mutationKey` function depends on the `processResponse` function in `options`.
429
- * If `processResponse` is defined, the return type is a `DataTag` containing the processed result and an error type.
430
- *
431
- * @example Example usage:
432
- * ```typescript
433
- * const createMutationKey = mutationKeyCreator(endpoint.config);
434
- * const mutationKey = createMutationKey({ urlParams: { id: 123 } });
435
- * ```
436
- *
437
- * @example Advanced usage:
438
- * ```ts
439
- * const createMutationKey = mutationKeyCreator(endpoint.config, {
440
- * processResponse: (data) => {
441
- * if (!data.success) {
442
- * throw new Error(data.message);
443
- * }
444
- * return data.data;
445
- * },
446
- * });
447
- * // We create a mutation that will be shared across the project for all passed userId
448
- * const mutationKey = createMutationKey({ urlParams: { projectId: 123, userId: 'wildcard' } });
632
+ * Base parameters for mutation configuration.
633
+ */
634
+ declare interface MutationParams<Config extends AnyEndpointConfig, TData = unknown, TVariables = NaviosZodRequest<Config>, TResponse = z.output<Config['responseSchema']>, TContext = unknown, UseKey extends boolean = false> extends Omit<UseMutationOptions<TData, Error, TVariables>, 'mutationKey' | 'mutationFn' | 'onSuccess' | 'onError' | 'scope'> {
635
+ processResponse: ProcessResponseFunction<TData, TResponse>;
636
+ /**
637
+ * React hooks that will prepare the context for the mutation onSuccess and onError
638
+ * callbacks. This is useful for when you want to use the context in the callbacks
639
+ */
640
+ useContext?: () => TContext;
641
+ onSuccess?: (queryClient: QueryClient, data: TData, variables: TVariables, context: TContext) => void | Promise<void>;
642
+ onError?: (queryClient: QueryClient, err: unknown, variables: TVariables, context: TContext) => void | Promise<void>;
643
+ /**
644
+ * If true, we will create a mutation key that can be shared across the project.
449
645
  */
450
- declare function mutationKeyCreator<Config extends AnyEndpointConfig, Options extends BaseQueryParams<Config>, Url extends Config['url'] = Config['url'], HasParams extends UrlHasParams<Url> = UrlHasParams<Url>>(config: Config, options?: Options): (params: HasParams extends true ? {
451
- urlParams: UrlParams<Url>;
452
- } : {}) => Options['processResponse'] extends (...args: any[]) => infer Result ? DataTag<[Config['url']], Result, Error> : never;
453
- export { mutationKeyCreator }
454
- export { mutationKeyCreator as mutationKeyCreator_alias_1 }
455
-
456
- declare type ProcessResponseFunction<TData = unknown, TVariables = unknown> = (variables: TVariables) => Promise<TData> | TData;
457
- export { ProcessResponseFunction }
458
- export { ProcessResponseFunction as ProcessResponseFunction_alias_1 }
459
-
460
- declare type QueryHelpers<Url extends string, QuerySchema extends ZodObject | undefined = undefined, Result = undefined, IsInfinite extends boolean = false> = {
461
- queryKey: QueryKeyCreatorResult<QuerySchema, Url, Result, IsInfinite>;
462
- use: (params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => UseQueryResult<Result, Error>;
463
- useSuspense: (params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => UseSuspenseQueryResult<Result, Error>;
464
- invalidate: (queryClient: QueryClient, params: Util_FlatObject<ClientQueryArgs<Url, QuerySchema>>) => () => Promise<void>;
465
- invalidateAll: (queryClient: QueryClient, params: Util_FlatObject<ClientQueryUrlParamsArgs<Url>>) => () => Promise<void>;
466
- };
467
- export { QueryHelpers }
468
- export { QueryHelpers as QueryHelpers_alias_1 }
469
- export { QueryHelpers as QueryHelpers_alias_2 }
470
-
471
- declare function queryKeyCreator<Config extends AnyEndpointConfig, Options extends BaseQueryParams<Config>, IsInfinite extends boolean, Url extends Config['url'] = Config['url'], HasParams extends UrlHasParams<Url> = UrlHasParams<Url>>(config: Config, options: Options, isInfinite: IsInfinite): QueryKeyCreatorResult<Config['querySchema'], Url, Options['processResponse'] extends (...args: any[]) => infer Result ? Result : never, IsInfinite, HasParams>;
472
- export { queryKeyCreator }
473
- export { queryKeyCreator as queryKeyCreator_alias_1 }
474
-
475
- declare type QueryKeyCreatorResult<QuerySchema = undefined, Url extends string = string, Result = unknown, IsInfinite extends boolean = false, HasParams extends UrlHasParams<Url> = UrlHasParams<Url>> = {
476
- template: Split_2<Url, '/'>;
477
- dataTag: (params: (HasParams extends true ? {
478
- urlParams: UrlParams<Url>;
479
- } : {}) & (QuerySchema extends ZodObject ? {
480
- params: z.input<QuerySchema>;
481
- } : {})) => DataTag<Split_2<Url, '/'>, IsInfinite extends true ? InfiniteData<Result> : Result, Error>;
482
- filterKey: (params: HasParams extends true ? {
483
- urlParams: UrlParams<Url>;
484
- } : {}) => DataTag<Split_2<Url, '/'>, IsInfinite extends true ? InfiniteData<Result> : Result, Error>;
485
- bindToUrl: (params: (HasParams extends true ? {
486
- urlParams: UrlParams<Url>;
487
- } : {}) & (QuerySchema extends ZodObject ? {
488
- params: z.infer<QuerySchema>;
489
- } : {})) => string;
490
- };
491
- export { QueryKeyCreatorResult }
492
- export { QueryKeyCreatorResult as QueryKeyCreatorResult_alias_1 }
493
-
494
- declare type Split<S extends string, D extends string> = string extends S ? string[] : S extends '' ? [] : S extends `${infer T}${D}${infer U}` ? [T, ...Split<U, D>] : [S];
495
- export { Split }
496
- export { Split as Split_alias_1 }
497
-
498
- declare type Split_2<S extends string, D extends string> = string extends S ? string[] : S extends '' ? [] : S extends `${infer T}${D}${infer U}` ? [T, ...Split_2<U, D>] : [S];
499
-
500
- declare type Split_3<S extends string, D extends string> = string extends S ? string[] : S extends '' ? [] : S extends `${infer T}${D}${infer U}` ? [T, ...Split_3<U, D>] : [S];
501
-
502
- export { }
646
+ useKey?: UseKey;
647
+ keyPrefix?: UseKey extends true ? UrlHasParams<Config['url']> extends true ? string[] : never : never;
648
+ keySuffix?: UseKey extends true ? UrlHasParams<Config['url']> extends true ? string[] : never : never;
649
+ }
650
+ export { MutationParams }
651
+ export { MutationParams as MutationParams_alias_1 }
652
+ export { MutationParams as MutationParams_alias_2 }
653
+
654
+ /**
655
+ * Function type for processing API responses before returning to the caller.
656
+ */
657
+ declare type ProcessResponseFunction<TData = unknown, TVariables = unknown> = (variables: TVariables) => Promise<TData> | TData;
658
+ export { ProcessResponseFunction }
659
+ export { ProcessResponseFunction as ProcessResponseFunction_alias_1 }
660
+ export { ProcessResponseFunction as ProcessResponseFunction_alias_2 }
661
+
662
+ /**
663
+ * Arguments for query functions based on URL params and query schema.
664
+ */
665
+ declare type QueryArgs<Url extends string = string, QuerySchema = ZodObject, RequestSchema = undefined> = (UrlHasParams<Url> extends true ? {
666
+ urlParams: UrlParams<Url>;
667
+ } : {}) & (QuerySchema extends ZodObject ? {
668
+ params: z.input<QuerySchema>;
669
+ } : {}) & (RequestSchema extends ZodType ? {
670
+ data: z.input<RequestSchema>;
671
+ } : {});
672
+ export { QueryArgs }
673
+ export { QueryArgs as QueryArgs_alias_1 }
674
+ export { QueryArgs as QueryArgs_alias_2 }
675
+
676
+ /**
677
+ * Configuration for declaring a query endpoint.
678
+ */
679
+ declare interface QueryConfig<Method = HttpMethod, Url = string, QuerySchema = ZodObject, Response extends ZodType = ZodType, Result = z.output<Response>, RequestSchema = unknown> {
680
+ method: Method;
681
+ url: Url;
682
+ querySchema?: QuerySchema;
683
+ responseSchema: Response;
684
+ requestSchema?: RequestSchema;
685
+ processResponse?: (data: z.output<Response>) => Result;
686
+ }
687
+ export { QueryConfig }
688
+ export { QueryConfig as QueryConfig_alias_1 }
689
+ export { QueryConfig as QueryConfig_alias_2 }
690
+
691
+ /**
692
+ * Helper methods attached to query options.
693
+ */
694
+ declare type QueryHelpers<Url extends string, QuerySchema extends ZodObject | undefined = undefined, Result = undefined, IsInfinite extends boolean = false, RequestSchema extends ZodType | undefined = undefined> = {
695
+ queryKey: QueryKeyCreatorResult<QuerySchema, Url, Result, IsInfinite>;
696
+ use: (params: Util_FlatObject<QueryArgs<Url, QuerySchema, RequestSchema>>) => UseQueryResult<Result, Error>;
697
+ useSuspense: (params: Util_FlatObject<QueryArgs<Url, QuerySchema, RequestSchema>>) => UseSuspenseQueryResult<Result, Error>;
698
+ invalidate: (queryClient: QueryClient, params: Util_FlatObject<QueryArgs<Url, QuerySchema, RequestSchema>>) => () => Promise<void>;
699
+ invalidateAll: (queryClient: QueryClient, params: Util_FlatObject<QueryUrlParamsArgs<Url>>) => () => Promise<void>;
700
+ };
701
+ export { QueryHelpers }
702
+ export { QueryHelpers as QueryHelpers_alias_1 }
703
+ export { QueryHelpers as QueryHelpers_alias_2 }
704
+
705
+ /** @deprecated Use createQueryKey instead */
706
+ declare const queryKeyCreator: typeof createQueryKey;
707
+ export { queryKeyCreator }
708
+ export { queryKeyCreator as queryKeyCreator_alias_1 }
709
+ export { queryKeyCreator as queryKeyCreator_alias_2 }
710
+
711
+ /**
712
+ * Result type from the query key creator function.
713
+ */
714
+ declare type QueryKeyCreatorResult<QuerySchema = undefined, Url extends string = string, Result = unknown, IsInfinite extends boolean = false, HasParams extends UrlHasParams<Url> = UrlHasParams<Url>> = {
715
+ template: Split<Url, '/'>;
716
+ dataTag: (params: (HasParams extends true ? {
717
+ urlParams: UrlParams<Url>;
718
+ } : {}) & (QuerySchema extends ZodObject ? {
719
+ params: z.input<QuerySchema>;
720
+ } : {})) => DataTag<Split<Url, '/'>, IsInfinite extends true ? InfiniteData<Result> : Result, Error>;
721
+ filterKey: (params: HasParams extends true ? {
722
+ urlParams: UrlParams<Url>;
723
+ } : {}) => DataTag<Split<Url, '/'>, IsInfinite extends true ? InfiniteData<Result> : Result, Error>;
724
+ bindToUrl: (params: (HasParams extends true ? {
725
+ urlParams: UrlParams<Url>;
726
+ } : {}) & (QuerySchema extends ZodObject ? {
727
+ params: z.infer<QuerySchema>;
728
+ } : {})) => string;
729
+ };
730
+ export { QueryKeyCreatorResult }
731
+ export { QueryKeyCreatorResult as QueryKeyCreatorResult_alias_1 }
732
+ export { QueryKeyCreatorResult as QueryKeyCreatorResult_alias_2 }
733
+
734
+ /**
735
+ * Base parameters for query configuration.
736
+ */
737
+ declare type QueryParams<Config extends AnyEndpointConfig, Res = any> = {
738
+ keyPrefix?: string[];
739
+ keySuffix?: string[];
740
+ onFail?: (err: unknown) => void;
741
+ processResponse: (data: z.output<Config['responseSchema']>) => Res;
742
+ };
743
+ export { QueryParams }
744
+ export { QueryParams as QueryParams_alias_1 }
745
+ export { QueryParams as QueryParams_alias_2 }
746
+
747
+ /**
748
+ * Arguments containing only URL params (for invalidateAll operations).
749
+ */
750
+ declare type QueryUrlParamsArgs<Url extends string = string> = UrlHasParams<Url> extends true ? {
751
+ urlParams: UrlParams<Url>;
752
+ } : {} | undefined;
753
+ export { QueryUrlParamsArgs }
754
+ export { QueryUrlParamsArgs as QueryUrlParamsArgs_alias_1 }
755
+ export { QueryUrlParamsArgs as QueryUrlParamsArgs_alias_2 }
756
+
757
+ /**
758
+ * Splits a string by a delimiter into a tuple type.
759
+ * Used for parsing URL paths into segments for query keys.
760
+ */
761
+ declare type Split<S extends string, D extends string> = string extends S ? string[] : S extends '' ? [] : S extends `${infer T}${D}${infer U}` ? [T, ...Split<U, D>] : [S];
762
+ export { Split }
763
+ export { Split as Split_alias_1 }
764
+ export { Split as Split_alias_2 }
765
+
766
+ export { }