effect-app 4.0.0-beta.27 → 4.0.0-beta.271

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 (342) hide show
  1. package/CHANGELOG.md +1269 -0
  2. package/dist/Array.d.ts +2 -1
  3. package/dist/Array.d.ts.map +1 -1
  4. package/dist/Array.js +4 -4
  5. package/dist/Chunk.d.ts.map +1 -1
  6. package/dist/Config/SecretURL.d.ts +3 -1
  7. package/dist/Config/SecretURL.d.ts.map +1 -1
  8. package/dist/Config/SecretURL.js +3 -6
  9. package/dist/Config/internal/configSecretURL.d.ts.map +1 -1
  10. package/dist/Config/internal/configSecretURL.js +2 -2
  11. package/dist/Config.d.ts +2 -0
  12. package/dist/Config.d.ts.map +1 -0
  13. package/dist/Config.js +8 -0
  14. package/dist/ConfigProvider.d.ts +2 -0
  15. package/dist/ConfigProvider.d.ts.map +1 -0
  16. package/dist/ConfigProvider.js +6 -0
  17. package/dist/{ServiceMap.d.ts → Context.d.ts} +18 -20
  18. package/dist/Context.d.ts.map +1 -0
  19. package/dist/Context.js +67 -0
  20. package/dist/Effect.d.ts +10 -9
  21. package/dist/Effect.d.ts.map +1 -1
  22. package/dist/Effect.js +5 -8
  23. package/dist/Emailer.d.ts +51 -0
  24. package/dist/Emailer.d.ts.map +1 -0
  25. package/dist/Emailer.js +7 -0
  26. package/dist/Function.d.ts.map +1 -1
  27. package/dist/Layer.d.ts +10 -6
  28. package/dist/Layer.d.ts.map +1 -1
  29. package/dist/Layer.js +3 -2
  30. package/dist/Model/Repository/Registry.d.ts +22 -0
  31. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  32. package/dist/Model/Repository/Registry.js +18 -0
  33. package/dist/Model/Repository/ext.d.ts +60 -0
  34. package/dist/Model/Repository/ext.d.ts.map +1 -0
  35. package/dist/Model/Repository/ext.js +122 -0
  36. package/dist/Model/Repository/internal/internal.d.ts +63 -0
  37. package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
  38. package/dist/Model/Repository/internal/internal.js +430 -0
  39. package/dist/Model/Repository/legacy.d.ts +21 -0
  40. package/dist/Model/Repository/legacy.d.ts.map +1 -0
  41. package/dist/Model/Repository/legacy.js +2 -0
  42. package/dist/Model/Repository/makeRepo.d.ts +54 -0
  43. package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
  44. package/dist/Model/Repository/makeRepo.js +27 -0
  45. package/dist/Model/Repository/service.d.ts +121 -0
  46. package/dist/Model/Repository/service.d.ts.map +1 -0
  47. package/dist/Model/Repository/service.js +2 -0
  48. package/dist/Model/Repository/validation.d.ts +58 -0
  49. package/dist/Model/Repository/validation.d.ts.map +1 -0
  50. package/dist/Model/Repository/validation.js +32 -0
  51. package/dist/Model/Repository.d.ts +7 -0
  52. package/dist/Model/Repository.d.ts.map +1 -0
  53. package/dist/Model/Repository.js +7 -0
  54. package/dist/Model/dsl.d.ts +33 -0
  55. package/dist/Model/dsl.d.ts.map +1 -0
  56. package/dist/Model/dsl.js +43 -0
  57. package/dist/Model/filter/filterApi.d.ts +30 -0
  58. package/dist/Model/filter/filterApi.d.ts.map +1 -0
  59. package/dist/Model/filter/filterApi.js +2 -0
  60. package/dist/Model/filter/types/errors.d.ts +29 -0
  61. package/dist/Model/filter/types/errors.d.ts.map +1 -0
  62. package/dist/Model/filter/types/errors.js +2 -0
  63. package/dist/Model/filter/types/fields.d.ts +15 -0
  64. package/dist/Model/filter/types/fields.d.ts.map +1 -0
  65. package/dist/Model/filter/types/fields.js +2 -0
  66. package/dist/Model/filter/types/path/common.d.ts +316 -0
  67. package/dist/Model/filter/types/path/common.d.ts.map +1 -0
  68. package/dist/Model/filter/types/path/common.js +2 -0
  69. package/dist/Model/filter/types/path/eager.d.ts +94 -0
  70. package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
  71. package/dist/Model/filter/types/path/eager.js +36 -0
  72. package/dist/Model/filter/types/path/index.d.ts +4 -0
  73. package/dist/Model/filter/types/path/index.d.ts.map +1 -0
  74. package/dist/Model/filter/types/path/index.js +3 -0
  75. package/dist/Model/filter/types/utils.d.ts +79 -0
  76. package/dist/Model/filter/types/utils.d.ts.map +1 -0
  77. package/dist/Model/filter/types/utils.js +2 -0
  78. package/dist/Model/filter/types/validator.d.ts +30 -0
  79. package/dist/Model/filter/types/validator.d.ts.map +1 -0
  80. package/dist/Model/filter/types/validator.js +2 -0
  81. package/dist/Model/filter/types.d.ts +5 -0
  82. package/dist/Model/filter/types.d.ts.map +1 -0
  83. package/dist/Model/filter/types.js +7 -0
  84. package/dist/Model/query/dsl.d.ts +493 -0
  85. package/dist/Model/query/dsl.d.ts.map +1 -0
  86. package/dist/Model/query/dsl.js +376 -0
  87. package/dist/Model/query/new-kid-interpreter.d.ts +136 -0
  88. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
  89. package/dist/Model/query/new-kid-interpreter.js +336 -0
  90. package/dist/Model/query.d.ts +15 -0
  91. package/dist/Model/query.d.ts.map +1 -0
  92. package/dist/Model/query.js +3 -0
  93. package/dist/Model.d.ts +5 -0
  94. package/dist/Model.d.ts.map +1 -0
  95. package/dist/Model.js +5 -0
  96. package/dist/NonEmptySet.d.ts +3 -1
  97. package/dist/NonEmptySet.d.ts.map +1 -1
  98. package/dist/NonEmptySet.js +2 -2
  99. package/dist/Option.d.ts +1 -0
  100. package/dist/Option.d.ts.map +1 -1
  101. package/dist/Option.js +3 -1
  102. package/dist/Pure.d.ts +7 -5
  103. package/dist/Pure.d.ts.map +1 -1
  104. package/dist/Pure.js +17 -14
  105. package/dist/QueueMaker.d.ts +13 -0
  106. package/dist/QueueMaker.d.ts.map +1 -0
  107. package/dist/QueueMaker.js +4 -0
  108. package/dist/RequestContext.d.ts +208 -0
  109. package/dist/RequestContext.d.ts.map +1 -0
  110. package/dist/RequestContext.js +54 -0
  111. package/dist/Schema/Class.d.ts +157 -19
  112. package/dist/Schema/Class.d.ts.map +1 -1
  113. package/dist/Schema/Class.js +214 -17
  114. package/dist/Schema/FastCheck.d.ts.map +1 -1
  115. package/dist/Schema/SchemaParser.d.ts +5 -0
  116. package/dist/Schema/SchemaParser.d.ts.map +1 -0
  117. package/dist/Schema/SchemaParser.js +6 -0
  118. package/dist/Schema/SpecialJsonSchema.d.ts +34 -0
  119. package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
  120. package/dist/Schema/SpecialJsonSchema.js +118 -0
  121. package/dist/Schema/SpecialOpenApi.d.ts +32 -0
  122. package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
  123. package/dist/Schema/SpecialOpenApi.js +123 -0
  124. package/dist/Schema/brand.d.ts +4 -2
  125. package/dist/Schema/brand.d.ts.map +1 -1
  126. package/dist/Schema/brand.js +3 -1
  127. package/dist/Schema/email.d.ts.map +1 -1
  128. package/dist/Schema/email.js +7 -4
  129. package/dist/Schema/ext.d.ts +338 -55
  130. package/dist/Schema/ext.d.ts.map +1 -1
  131. package/dist/Schema/ext.js +358 -53
  132. package/dist/Schema/moreStrings.d.ts +82 -36
  133. package/dist/Schema/moreStrings.d.ts.map +1 -1
  134. package/dist/Schema/moreStrings.js +49 -42
  135. package/dist/Schema/numbers.d.ts +34 -21
  136. package/dist/Schema/numbers.d.ts.map +1 -1
  137. package/dist/Schema/numbers.js +55 -12
  138. package/dist/Schema/phoneNumber.d.ts.map +1 -1
  139. package/dist/Schema/phoneNumber.js +6 -3
  140. package/dist/Schema/strings.d.ts +18 -4
  141. package/dist/Schema/strings.d.ts.map +1 -1
  142. package/dist/Schema/strings.js +1 -5
  143. package/dist/Schema.d.ts +213 -7
  144. package/dist/Schema.d.ts.map +1 -1
  145. package/dist/Schema.js +190 -11
  146. package/dist/Set.d.ts +4 -1
  147. package/dist/Set.d.ts.map +1 -1
  148. package/dist/Set.js +3 -2
  149. package/dist/Store.d.ts +170 -0
  150. package/dist/Store.d.ts.map +1 -0
  151. package/dist/Store.js +121 -0
  152. package/dist/_ext/Array.d.ts +1 -1
  153. package/dist/_ext/Array.d.ts.map +1 -1
  154. package/dist/_ext/Array.js +4 -2
  155. package/dist/_ext/misc.d.ts +4 -1
  156. package/dist/_ext/misc.d.ts.map +1 -1
  157. package/dist/_ext/misc.js +4 -2
  158. package/dist/_ext/ord.ext.d.ts +2 -1
  159. package/dist/_ext/ord.ext.d.ts.map +1 -1
  160. package/dist/_ext/ord.ext.js +2 -2
  161. package/dist/client/InvalidationKeys.d.ts +29 -0
  162. package/dist/client/InvalidationKeys.d.ts.map +1 -0
  163. package/dist/client/InvalidationKeys.js +33 -0
  164. package/dist/client/apiClientFactory.d.ts +19 -31
  165. package/dist/client/apiClientFactory.d.ts.map +1 -1
  166. package/dist/client/apiClientFactory.js +104 -34
  167. package/dist/client/clientFor.d.ts +52 -18
  168. package/dist/client/clientFor.d.ts.map +1 -1
  169. package/dist/client/clientFor.js +9 -1
  170. package/dist/client/errors.d.ts +82 -27
  171. package/dist/client/errors.d.ts.map +1 -1
  172. package/dist/client/errors.js +75 -19
  173. package/dist/client/makeClient.d.ts +494 -32
  174. package/dist/client/makeClient.d.ts.map +1 -1
  175. package/dist/client/makeClient.js +66 -24
  176. package/dist/client.d.ts +1 -0
  177. package/dist/client.d.ts.map +1 -1
  178. package/dist/client.js +2 -1
  179. package/dist/faker.d.ts.map +1 -1
  180. package/dist/http/Request.d.ts +1 -1
  181. package/dist/http/Request.d.ts.map +1 -1
  182. package/dist/http/Request.js +2 -2
  183. package/dist/ids.d.ts +42 -14
  184. package/dist/ids.d.ts.map +1 -1
  185. package/dist/ids.js +30 -5
  186. package/dist/index.d.ts +6 -7
  187. package/dist/index.d.ts.map +1 -1
  188. package/dist/index.js +8 -8
  189. package/dist/middleware.d.ts +13 -7
  190. package/dist/middleware.d.ts.map +1 -1
  191. package/dist/middleware.js +14 -8
  192. package/dist/rpc/Invalidation.d.ts +420 -0
  193. package/dist/rpc/Invalidation.d.ts.map +1 -0
  194. package/dist/rpc/Invalidation.js +168 -0
  195. package/dist/rpc/MiddlewareMaker.d.ts +11 -7
  196. package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
  197. package/dist/rpc/MiddlewareMaker.js +59 -38
  198. package/dist/rpc/RpcContextMap.d.ts +3 -3
  199. package/dist/rpc/RpcContextMap.d.ts.map +1 -1
  200. package/dist/rpc/RpcContextMap.js +4 -4
  201. package/dist/rpc/RpcMiddleware.d.ts +14 -10
  202. package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
  203. package/dist/rpc/RpcMiddleware.js +1 -1
  204. package/dist/rpc.d.ts +1 -1
  205. package/dist/rpc.d.ts.map +1 -1
  206. package/dist/rpc.js +2 -2
  207. package/dist/runtime.d.ts +19 -0
  208. package/dist/runtime.d.ts.map +1 -0
  209. package/dist/runtime.js +40 -0
  210. package/dist/setupRequest.d.ts +19 -0
  211. package/dist/setupRequest.d.ts.map +1 -0
  212. package/dist/setupRequest.js +69 -0
  213. package/dist/toast.d.ts +51 -0
  214. package/dist/toast.d.ts.map +1 -0
  215. package/dist/toast.js +34 -0
  216. package/dist/transform.d.ts +1 -1
  217. package/dist/transform.d.ts.map +1 -1
  218. package/dist/transform.js +4 -5
  219. package/dist/utils/effectify.d.ts +1 -1
  220. package/dist/utils/effectify.d.ts.map +1 -1
  221. package/dist/utils/effectify.js +2 -2
  222. package/dist/utils/extend.d.ts.map +1 -1
  223. package/dist/utils/gen.d.ts +4 -4
  224. package/dist/utils/gen.d.ts.map +1 -1
  225. package/dist/utils/logLevel.d.ts +2 -2
  226. package/dist/utils/logLevel.d.ts.map +1 -1
  227. package/dist/utils/logger.d.ts +4 -3
  228. package/dist/utils/logger.d.ts.map +1 -1
  229. package/dist/utils/logger.js +4 -4
  230. package/dist/utils.d.ts +34 -39
  231. package/dist/utils.d.ts.map +1 -1
  232. package/dist/utils.js +33 -37
  233. package/dist/validation/validators.d.ts.map +1 -1
  234. package/dist/validation.d.ts.map +1 -1
  235. package/dist/withToast.d.ts +30 -0
  236. package/dist/withToast.d.ts.map +1 -0
  237. package/dist/withToast.js +64 -0
  238. package/package.json +22 -247
  239. package/src/Array.ts +5 -5
  240. package/src/Chunk.ts +3 -3
  241. package/src/Config/SecretURL.ts +6 -3
  242. package/src/Config/internal/configSecretURL.ts +2 -2
  243. package/src/Config.ts +7 -0
  244. package/src/ConfigProvider.ts +5 -0
  245. package/src/{ServiceMap.ts → Context.ts} +56 -63
  246. package/src/Effect.ts +14 -16
  247. package/src/Emailer.ts +51 -0
  248. package/src/Inputify.type.ts +1 -1
  249. package/src/Layer.ts +11 -7
  250. package/src/Model/Repository/Registry.ts +35 -0
  251. package/src/Model/Repository/ext.ts +375 -0
  252. package/src/Model/Repository/internal/internal.ts +741 -0
  253. package/src/Model/Repository/legacy.ts +29 -0
  254. package/src/Model/Repository/makeRepo.ts +145 -0
  255. package/src/Model/Repository/service.ts +676 -0
  256. package/src/Model/Repository/validation.ts +31 -0
  257. package/src/Model/Repository.ts +6 -0
  258. package/src/Model/dsl.ts +129 -0
  259. package/src/Model/filter/filterApi.ts +60 -0
  260. package/src/Model/filter/types/errors.ts +47 -0
  261. package/src/Model/filter/types/fields.ts +50 -0
  262. package/src/Model/filter/types/path/common.ts +404 -0
  263. package/src/Model/filter/types/path/eager.ts +329 -0
  264. package/src/Model/filter/types/path/index.ts +4 -0
  265. package/src/Model/filter/types/utils.ts +128 -0
  266. package/src/Model/filter/types/validator.ts +46 -0
  267. package/src/Model/filter/types.ts +6 -0
  268. package/src/Model/query/dsl.ts +2694 -0
  269. package/src/Model/query/new-kid-interpreter.ts +484 -0
  270. package/src/Model/query.ts +13 -0
  271. package/src/Model.ts +4 -0
  272. package/src/NonEmptySet.ts +6 -4
  273. package/src/Option.ts +2 -0
  274. package/src/Pure.ts +22 -20
  275. package/src/QueueMaker.ts +19 -0
  276. package/src/RequestContext.ts +95 -0
  277. package/src/Schema/Class.ts +517 -59
  278. package/src/Schema/SchemaParser.ts +12 -0
  279. package/src/Schema/SpecialJsonSchema.ts +139 -0
  280. package/src/Schema/SpecialOpenApi.ts +130 -0
  281. package/src/Schema/brand.ts +22 -2
  282. package/src/Schema/email.ts +9 -4
  283. package/src/Schema/ext.ts +446 -91
  284. package/src/Schema/moreStrings.ts +147 -68
  285. package/src/Schema/numbers.ts +97 -28
  286. package/src/Schema/phoneNumber.ts +9 -5
  287. package/src/Schema/strings.ts +23 -14
  288. package/src/Schema.ts +389 -25
  289. package/src/Set.ts +6 -2
  290. package/src/Store.ts +277 -0
  291. package/src/_ext/Array.ts +4 -2
  292. package/src/_ext/misc.ts +4 -1
  293. package/src/_ext/ord.ext.ts +2 -1
  294. package/src/client/InvalidationKeys.ts +50 -0
  295. package/src/client/apiClientFactory.ts +234 -135
  296. package/src/client/clientFor.ts +105 -34
  297. package/src/client/errors.ts +100 -29
  298. package/src/client/makeClient.ts +594 -73
  299. package/src/client.ts +5 -4
  300. package/src/http/Request.ts +3 -3
  301. package/src/http.ts +1 -1
  302. package/src/ids.ts +33 -6
  303. package/src/index.ts +20 -23
  304. package/src/middleware.ts +13 -9
  305. package/src/rpc/Invalidation.ts +261 -0
  306. package/src/rpc/MiddlewareMaker.ts +88 -80
  307. package/src/rpc/README.md +2 -2
  308. package/src/rpc/RpcContextMap.ts +7 -6
  309. package/src/rpc/RpcMiddleware.ts +19 -13
  310. package/src/rpc.ts +4 -4
  311. package/src/runtime.ts +56 -0
  312. package/src/setupRequest.ts +134 -0
  313. package/src/toast.ts +54 -0
  314. package/src/transform.ts +4 -4
  315. package/src/utils/effectify.ts +1 -1
  316. package/src/utils/gen.ts +8 -8
  317. package/src/utils/logLevel.ts +1 -1
  318. package/src/utils/logger.ts +4 -3
  319. package/src/utils.ts +85 -158
  320. package/src/validation.ts +2 -2
  321. package/src/withToast.ts +133 -0
  322. package/test/dist/rpc.test.d.ts.map +1 -1
  323. package/test/dist/secretURL.test.d.ts.map +1 -0
  324. package/test/dist/special.test.d.ts.map +1 -0
  325. package/test/moreStrings.test.ts +1 -1
  326. package/test/rpc.test.ts +46 -6
  327. package/test/schema.test.ts +459 -30
  328. package/test/secretURL.test.ts +160 -0
  329. package/test/special.test.ts +1026 -0
  330. package/test/utils.test.ts +7 -7
  331. package/tsconfig.base.json +6 -5
  332. package/tsconfig.json +3 -1
  333. package/tsconfig.json.bak +2 -2
  334. package/tsconfig.src.json +29 -29
  335. package/tsconfig.test.json +2 -2
  336. package/dist/Operations.d.ts +0 -123
  337. package/dist/Operations.d.ts.map +0 -1
  338. package/dist/Operations.js +0 -29
  339. package/dist/ServiceMap.d.ts.map +0 -1
  340. package/dist/ServiceMap.js +0 -91
  341. package/eslint.config.mjs +0 -26
  342. package/src/Operations.ts +0 -55
@@ -0,0 +1,493 @@
1
+ import * as Pipeable from "effect/Pipeable";
2
+ import type { Covariant } from "effect/Types";
3
+ import type * as Option from "../../Option.js";
4
+ import type * as S from "../../Schema.js";
5
+ import type { NonNegativeInt } from "../../Schema.js";
6
+ import type { Ops } from "../filter/filterApi.js";
7
+ import type { FieldValues } from "../filter/types.js";
8
+ import type { FieldPath, FieldPathValue, RefineFieldPathValue } from "../filter/types/path/eager.js";
9
+ export type QAll<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, A = TFieldValues, R = never, TType extends "one" | "many" = "many", Exclusive extends boolean = false> = Query<TFieldValues> | QueryWhere<TFieldValues, TFieldValuesRefined, Exclusive> | QueryEnd<TFieldValues, TType, Exclusive> | QueryProjection<TFieldValues, A, R, TType, Exclusive>;
10
+ export declare const QId: unique symbol;
11
+ export type QId = typeof QId;
12
+ export interface QueryTogether<out TFieldValues extends FieldValues, out TFieldValuesRefined extends TFieldValues = TFieldValues, out Exclusive extends boolean = false, out T extends "initial" | "where" | "end" | "projection" = "initial", out A = TFieldValues, out R = never, out TType extends "many" | "one" | "count" = "many"> extends Pipeable.Pipeable {
13
+ readonly [QId]: {
14
+ readonly _TFieldValues: Covariant<TFieldValues>;
15
+ readonly _T: Covariant<T>;
16
+ readonly _TFieldValuesRefined: Covariant<TFieldValuesRefined>;
17
+ readonly _A: Covariant<A>;
18
+ readonly _R: Covariant<R>;
19
+ readonly _TT: Covariant<TType>;
20
+ readonly _Exclusive: Covariant<Exclusive>;
21
+ };
22
+ }
23
+ type ExtractTType<T> = T extends QueryTogether<any, any, any, any, any, any, infer TType> ? TType : never;
24
+ type ExtractExclusiveness<T> = T extends QueryTogether<any, any, infer Exclusive extends boolean, any, any, any, any> ? Exclusive : never;
25
+ type ExtractFieldValuesRefined<T> = T extends QueryTogether<any, infer TFieldValuesRefined, any, any, any, any, any> ? TFieldValuesRefined : never;
26
+ export type RelationDirection = "some" | "every";
27
+ export type Relation = {
28
+ relation: RelationDirection;
29
+ };
30
+ export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues>;
31
+ export type QueryWhere<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValuesRefined, Exclusive, "where"> & Relation;
32
+ export type QueryEnd<TFieldValues extends FieldValues, TType extends "many" | "one" | "count" = "many", Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValues, Exclusive, "end", TFieldValues, never, TType>;
33
+ export type QueryProjection<TFieldValues extends FieldValues, A = TFieldValues, R = never, TType extends "many" | "one" | "count" = "many", Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValues, Exclusive, "projection", A, R, TType>;
34
+ export type ComputedProjectionOperation = (q: Query<any>) => QueryWhere<any, any, any>;
35
+ export type ComputedProjectionMathExpression = {
36
+ readonly _tag: "field";
37
+ readonly field: string;
38
+ } | {
39
+ readonly _tag: "mul";
40
+ readonly left: ComputedProjectionMathExpression;
41
+ readonly right: ComputedProjectionMathExpression;
42
+ };
43
+ export type ComputedProjectionExpression = {
44
+ readonly _tag: "relation-count";
45
+ readonly path: string;
46
+ readonly operation?: ComputedProjectionOperation;
47
+ } | {
48
+ readonly _tag: "relation-any";
49
+ readonly path: string;
50
+ readonly operation?: ComputedProjectionOperation;
51
+ } | {
52
+ readonly _tag: "relation-every";
53
+ readonly path: string;
54
+ readonly operation: ComputedProjectionOperation;
55
+ } | {
56
+ readonly _tag: "relation-distinct-count";
57
+ readonly path: string;
58
+ readonly field: string;
59
+ readonly operation?: ComputedProjectionOperation;
60
+ } | {
61
+ readonly _tag: "relation-sum";
62
+ readonly path: string;
63
+ readonly field: string;
64
+ readonly operation?: ComputedProjectionOperation;
65
+ } | {
66
+ readonly _tag: "relation-sum-expr";
67
+ readonly path: string;
68
+ readonly expression: ComputedProjectionMathExpression;
69
+ readonly operation?: ComputedProjectionOperation;
70
+ } | {
71
+ readonly _tag: "relation-sum-expr-by";
72
+ readonly path: string;
73
+ readonly expression: ComputedProjectionMathExpression;
74
+ readonly unit: string;
75
+ readonly operation?: ComputedProjectionOperation;
76
+ } | {
77
+ readonly _tag: "relation-sum-expr-normalized";
78
+ readonly path: string;
79
+ readonly expression: ComputedProjectionMathExpression;
80
+ readonly unit: string;
81
+ readonly toBase: string;
82
+ readonly factors: Readonly<Record<string, number>>;
83
+ readonly operation?: ComputedProjectionOperation;
84
+ } | {
85
+ readonly _tag: "relation-collect";
86
+ readonly path: string;
87
+ readonly field: string;
88
+ readonly distinct: boolean;
89
+ readonly operation?: ComputedProjectionOperation;
90
+ } | {
91
+ readonly _tag: "relation-collect-fields";
92
+ readonly path: string;
93
+ readonly fields: readonly string[];
94
+ readonly distinct: boolean;
95
+ readonly operation?: ComputedProjectionOperation;
96
+ } | {
97
+ readonly _tag: "relation-length";
98
+ readonly path: string;
99
+ };
100
+ /**
101
+ * An expression that aggregates values across documents (for use with {@link aggregate}).
102
+ * `agg-field` references a document field to group by; other tags are aggregate functions.
103
+ */
104
+ export type AggregateExpression = {
105
+ readonly _tag: "agg-field";
106
+ readonly path: string;
107
+ } | {
108
+ readonly _tag: "agg-count";
109
+ } | {
110
+ readonly _tag: "agg-count-when";
111
+ readonly operation: ComputedProjectionOperation;
112
+ } | {
113
+ readonly _tag: "agg-sum";
114
+ readonly field: string;
115
+ } | {
116
+ readonly _tag: "agg-min";
117
+ readonly field: string;
118
+ } | {
119
+ readonly _tag: "agg-max";
120
+ readonly field: string;
121
+ };
122
+ export type AggregateMap = Readonly<Record<string, AggregateExpression>>;
123
+ export type ComputedProjectionMap = Readonly<Record<string, ComputedProjectionExpression>>;
124
+ export type Q<TFieldValues extends FieldValues> = Initial<TFieldValues> | Where<TFieldValues> | And<TFieldValues> | Or<TFieldValues> | Order<TFieldValues, any> | Page<TFieldValues> | Project<any, TFieldValues, any> | One<TFieldValues> | Count<TFieldValues>;
125
+ declare const Initial_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
126
+ readonly _tag: "value";
127
+ } & Pipeable.Pipeable;
128
+ export declare class Initial<TFieldValues extends FieldValues> extends Initial_base<{
129
+ value: "initial";
130
+ }> implements Query<TFieldValues> {
131
+ readonly [QId]: any;
132
+ constructor();
133
+ pipe(): unknown;
134
+ }
135
+ declare const Where_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
136
+ readonly _tag: "where";
137
+ } & Pipeable.Pipeable;
138
+ export declare class Where<TFieldValues extends FieldValues> extends Where_base<{
139
+ current: Query<TFieldValues>;
140
+ operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
141
+ relation: RelationDirection;
142
+ subPath?: string;
143
+ }> implements QueryWhere<TFieldValues> {
144
+ readonly [QId]: any;
145
+ pipe(): unknown;
146
+ }
147
+ declare const And_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
148
+ readonly _tag: "and";
149
+ } & Pipeable.Pipeable;
150
+ export declare class And<TFieldValues extends FieldValues> extends And_base<{
151
+ current: Query<TFieldValues>;
152
+ operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
153
+ relation: RelationDirection;
154
+ }> implements QueryWhere<TFieldValues> {
155
+ readonly [QId]: any;
156
+ pipe(): unknown;
157
+ }
158
+ declare const Or_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
159
+ readonly _tag: "or";
160
+ } & Pipeable.Pipeable;
161
+ export declare class Or<TFieldValues extends FieldValues> extends Or_base<{
162
+ current: Query<TFieldValues>;
163
+ operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
164
+ relation: RelationDirection;
165
+ }> implements QueryWhere<TFieldValues> {
166
+ readonly [QId]: any;
167
+ pipe(): unknown;
168
+ }
169
+ declare const Page_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
170
+ readonly _tag: "page";
171
+ } & Pipeable.Pipeable;
172
+ export declare class Page<TFieldValues extends FieldValues> extends Page_base<{
173
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
174
+ take?: number | undefined;
175
+ skip?: number | undefined;
176
+ }> implements QueryEnd<TFieldValues> {
177
+ readonly [QId]: any;
178
+ pipe(): unknown;
179
+ }
180
+ declare const One_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
181
+ readonly _tag: "one";
182
+ } & Pipeable.Pipeable;
183
+ export declare class One<TFieldValues extends FieldValues> extends One_base<{
184
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
185
+ }> implements QueryEnd<TFieldValues, "one"> {
186
+ readonly [QId]: any;
187
+ pipe(): unknown;
188
+ }
189
+ declare const Count_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
190
+ readonly _tag: "count";
191
+ } & Pipeable.Pipeable;
192
+ export declare class Count<TFieldValues extends FieldValues> extends Count_base<{
193
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
194
+ }> implements QueryEnd<TFieldValues, "count"> {
195
+ readonly [QId]: any;
196
+ pipe(): unknown;
197
+ }
198
+ declare const Order_base: new <A extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A as P extends "_tag" ? never : P]: A[P]; }>) => Readonly<A> & {
199
+ readonly _tag: "order";
200
+ } & Pipeable.Pipeable;
201
+ export declare class Order<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> extends Order_base<{
202
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
203
+ field: TFieldName;
204
+ direction: "ASC" | "DESC";
205
+ }> implements QueryEnd<TFieldValues> {
206
+ readonly [QId]: any;
207
+ pipe(): unknown;
208
+ }
209
+ declare const Project_base: new <A_1 extends Record<string, any> = {}>(args: import("effect/Types").VoidIfEmpty<{ readonly [P in keyof A_1 as P extends "_tag" ? never : P]: A_1[P]; }>) => Readonly<A_1> & {
210
+ readonly _tag: "project";
211
+ } & Pipeable.Pipeable;
212
+ export declare class Project<A, TFieldValues extends FieldValues, R, TType extends "one" | "many" = "many"> extends Project_base<{
213
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues, TType>;
214
+ schema: S.Codec<A, TFieldValues, R>;
215
+ mode: "collect" | "project" | "transform" | "aggregate";
216
+ computed?: ComputedProjectionMap;
217
+ aggregateMap?: AggregateMap;
218
+ }> implements QueryProjection<TFieldValues, A, R> {
219
+ readonly [QId]: any;
220
+ pipe(): unknown;
221
+ }
222
+ export declare const make: <TFieldValues extends FieldValues>() => Query<TFieldValues>;
223
+ export declare const where: FilterWhere;
224
+ export declare const and: FilterContinuationAnd;
225
+ export declare const or: FilterContinuationOr;
226
+ export declare const whereEvery: WhereEveryOrSome;
227
+ export declare const whereSome: WhereEveryOrSome;
228
+ export declare const order: {
229
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(field: FieldPath<ExtractFieldValuesRefined<Q>>, direction?: "ASC" | "DESC"): (current: Q) => QueryEnd<ExtractFieldValuesRefined<Q>, "many", ExtractExclusiveness<Q>>;
230
+ };
231
+ export declare const page: {
232
+ (page: {
233
+ skip?: number;
234
+ take?: number;
235
+ }): <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q) => QueryEnd<ExtractFieldValuesRefined<Q>, "many", ExtractExclusiveness<Q>>;
236
+ };
237
+ export declare const one: {
238
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryEnd<ExtractFieldValuesRefined<Q>, "one", ExtractExclusiveness<Q>>;
239
+ };
240
+ export declare const count: {
241
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryProjection<ExtractFieldValuesRefined<Q>, NonNegativeInt, never, "count", ExtractExclusiveness<Q>>;
242
+ };
243
+ /**
244
+ * Attach a projection schema to a query.
245
+ *
246
+ * The `select` clause sent to the store is derived from the schema's encoded
247
+ * AST property names (top-level + per-array sub-keys), so a projection always
248
+ * narrows what is read from the store. The repository augments that select
249
+ * with `id` and `_etag` for change tracking. See {@link toFilter} and the
250
+ * dispatch in `Repository/internal/internal.ts`.
251
+ *
252
+ * Modes — pick based on shape of the decoded value and on whether the
253
+ * persistence-model (PM) reverse-mapping is needed:
254
+ *
255
+ * - `"transform"` (default when `mode` omitted): goes through the repo's
256
+ * `parseMany` pipeline. The raw row is reverse-mapped via the
257
+ * etag/PM cache (re-injecting `_etag` and any PM-shape state) before
258
+ * decoding. Decode failures `orDie` (error channel = `never`). Use when
259
+ * the schema operates on the full PM shape (e.g. full-entity reads that
260
+ * must preserve etag tracking).
261
+ *
262
+ * - `"project"`: decodes the raw encoded row directly with the supplied
263
+ * schema. No PM reverse-mapping, no etag cache merge. Decode failures
264
+ * surface as `S.SchemaError`. Use for slim DTOs / aggregations that do not
265
+ * need etag tracking and whose schema input is a plain subset of `Encoded`.
266
+ *
267
+ * - `"collect"`: like `"project"`, but the schema yields `Option<A>` and
268
+ * `None` values are dropped post-decode (`Array.getSomes`). Use to filter
269
+ * rows during decode (e.g. discriminated-union narrowing where some rows
270
+ * should not appear in the result).
271
+ */
272
+ export declare const project: {
273
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, {
274
+ [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
275
+ }, R>, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
276
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, {
277
+ [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
278
+ }, R>, mode: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
279
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, {
280
+ [K in keyof I]: K extends keyof ExtractFieldValuesRefined<Q> ? I[K] : never;
281
+ }, R>): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
282
+ };
283
+ /**
284
+ * Element type of an array-valued field path on `TFieldValues`. Falls back to
285
+ * `FieldValues` when the path does not resolve to an array of structs so that
286
+ * `FieldPath<...>` stays defined (it just degrades to `string`).
287
+ *
288
+ * Uses `Extract` so that when `P` defaults to the full `FieldPath<TFieldValues>`
289
+ * union, only the array-valued branches contribute to the element type.
290
+ */
291
+ export type RelationElement<TFieldValues extends FieldValues, P extends FieldPath<TFieldValues>> = Extract<FieldPathValue<TFieldValues, P>, ReadonlyArray<unknown>> extends ReadonlyArray<infer E> ? (E extends FieldValues ? E : FieldValues) : FieldValues;
292
+ export declare const relation: <TFieldValues extends FieldValues, const P extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(path: P) => {
293
+ /**
294
+ * Typed math-expression builder bound to the relation's element scope:
295
+ * `relation("items").expr.field("weight")` constrains the field path to
296
+ * `FieldPath<RelationElement<TFieldValues, P>>`.
297
+ */
298
+ expr: {
299
+ field: (field: FieldPath<RelationElement<TFieldValues, P>>) => ComputedProjectionMathExpression;
300
+ mul: (left: ComputedProjectionMathExpression, right: ComputedProjectionMathExpression) => ComputedProjectionMathExpression;
301
+ };
302
+ length: () => ComputedProjectionExpression;
303
+ count: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
304
+ any: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
305
+ every: (operation: ComputedProjectionOperation) => ComputedProjectionExpression;
306
+ distinctCount: (field: FieldPath<RelationElement<TFieldValues, P>>, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
307
+ sum: (field: FieldPath<RelationElement<TFieldValues, P>>, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
308
+ sumExpr: (expression: ComputedProjectionMathExpression, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
309
+ sumExprBy: (expression: ComputedProjectionMathExpression, options: {
310
+ unit: FieldPath<RelationElement<TFieldValues, P>>;
311
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
312
+ sumExprNormalized: (expression: ComputedProjectionMathExpression, options: {
313
+ unit: FieldPath<RelationElement<TFieldValues, P>>;
314
+ toBase: string;
315
+ factors: Readonly<Record<string, number>>;
316
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
317
+ collect: (field: FieldPath<RelationElement<TFieldValues, P>>, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
318
+ collectDistinct: (field: FieldPath<RelationElement<TFieldValues, P>>, operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
319
+ collectFields: (fields: readonly FieldPath<RelationElement<TFieldValues, P>>[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
320
+ collectDistinctFields: (fields: readonly FieldPath<RelationElement<TFieldValues, P>>[], operation?: ComputedProjectionOperation) => ComputedProjectionExpression;
321
+ };
322
+ /**
323
+ * Untyped math-expression builder. Field paths are not statically validated —
324
+ * prefer the scope-bound `relation(path).expr` builder when the element type
325
+ * is known, since it constrains the field argument to `FieldPath<E>`.
326
+ *
327
+ * The generic parameter is accepted for symmetry with the scoped builder so
328
+ * callers may opt into a tighter check via `expr.field<E>("x")`.
329
+ */
330
+ export declare const expr: {
331
+ readonly field: <T extends FieldValues = FieldValues>(field: FieldPath<T>) => ComputedProjectionMathExpression;
332
+ readonly mul: (left: ComputedProjectionMathExpression, right: ComputedProjectionMathExpression) => ComputedProjectionMathExpression;
333
+ };
334
+ export declare const computed: <T extends ComputedProjectionMap>(value: T) => T;
335
+ /**
336
+ * Helpers passed to the inline-builder form of {@link projectComputed}. The
337
+ * `relation` factory is bound to the source row shape so paths/fields inside
338
+ * the projection are validated against the document shape inferred from the
339
+ * pipe.
340
+ */
341
+ export interface ComputedHelpers<TFieldValues extends FieldValues> {
342
+ relation: <const P extends FieldPath<TFieldValues>>(path: P) => ReturnType<typeof relation<TFieldValues, P>>;
343
+ }
344
+ export declare const projectComputed: {
345
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, I, R>, build: (helpers: ComputedHelpers<ExtractFieldValuesRefined<Q>>) => ComputedProjectionMap, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
346
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>, build: (helpers: ComputedHelpers<ExtractFieldValuesRefined<Q>>) => ComputedProjectionMap, mode?: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
347
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, I, R>, computedProjection: ComputedProjectionMap, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
348
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>, computedProjection: ComputedProjectionMap, mode?: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
349
+ };
350
+ /**
351
+ * Builder shape returned by {@link agg}. Field-taking methods are constrained
352
+ * to `FieldPath<TFieldValues>` so paths are validated against the document
353
+ * shape.
354
+ */
355
+ export interface AggBuilder<TFieldValues extends FieldValues> {
356
+ field: (path: FieldPath<TFieldValues>) => AggregateExpression;
357
+ count: () => AggregateExpression;
358
+ countWhen: (operation: ComputedProjectionOperation) => AggregateExpression;
359
+ sum: (field: FieldPath<TFieldValues>) => AggregateExpression;
360
+ min: (field: FieldPath<TFieldValues>) => AggregateExpression;
361
+ max: (field: FieldPath<TFieldValues>) => AggregateExpression;
362
+ }
363
+ /**
364
+ * Scope-bound aggregate-expression builder factory. Invoke with the source
365
+ * document field-value shape to get a builder whose `field`/`sum`/`min`/`max`
366
+ * arguments are constrained to `FieldPath<TFieldValues>`.
367
+ *
368
+ * Prefer the inline callback form of {@link aggregate} (`aggregate(schema,
369
+ * ($) => ({...}))`) — there the source shape is inferred from the pipe so no
370
+ * explicit type argument is needed. This factory is the escape hatch when
371
+ * the builder is constructed outside the pipe.
372
+ */
373
+ export declare const agg: <TFieldValues extends FieldValues = FieldValues>() => AggBuilder<TFieldValues>;
374
+ /**
375
+ * Attach an aggregate projection to a query, performing GROUP BY + aggregate functions at the
376
+ * database level instead of fetching all rows and grouping in memory.
377
+ *
378
+ * Pass a builder callback to get a typed `agg` bound to the source row shape
379
+ * (inferred from the pipe — no explicit generic needed):
380
+ *
381
+ * @example
382
+ * ```ts
383
+ * repo.query(
384
+ * where("status", "active"),
385
+ * aggregate(
386
+ * S.Struct({ city: S.String, count: S.Number }),
387
+ * ($) => ({
388
+ * city: $.field("address.city"),
389
+ * count: $.countWhen((q) => q.pipe(where("active", true)))
390
+ * })
391
+ * )
392
+ * )
393
+ * ```
394
+ *
395
+ * A plain {@link AggregateMap} is also accepted for the rare case where the
396
+ * map is built outside the pipe (loses path inference).
397
+ *
398
+ * The output is decoded directly with `schema` (no PM reverse-mapping, no etag tracking).
399
+ * Decode failures surface as `S.SchemaError`.
400
+ */
401
+ export declare const aggregate: {
402
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>, build: (agg: AggBuilder<ExtractFieldValuesRefined<Q>>) => AggregateMap): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
403
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends Record<string, unknown>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>, aggregateMap: AggregateMap): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
404
+ };
405
+ type GetArV<T> = T extends readonly (infer R)[] ? R : never;
406
+ export type FilterContinuations<IsCurrentInitial extends boolean = false> = {
407
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
408
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "gt" | "gte" | "lt" | "lte" | "neq", value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
409
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith", value: FieldPathValue<TFieldValues, TFieldName> extends string ? string : never): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
410
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, const V extends readonly FieldPathValue<TFieldValues, TFieldName>[], TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "in" | "notIn", value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
411
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "includes" | "notIncludes", value: GetArV<V>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
412
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "includes-any" | "notIncludes-any" | "includes-all" | "notIncludes-all", value: readonly GetArV<V>[]): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
413
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(f: {
414
+ path: TFieldName;
415
+ op: "eq";
416
+ value: V;
417
+ }): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
418
+ };
419
+ export type FilterContinuationsWithSubpath = {
420
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(subPath: TFieldName, restPath: TFieldNameSub, value: V): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
421
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(subPath: TFieldName, restPath: TFieldNameSub, op: "gt" | "gte" | "lt" | "lte" | "neq", value: V): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
422
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>>(subPath: TFieldName, restPath: TFieldNameSub, op: "startsWith" | "endsWith" | "contains" | "notContains" | "notStartsWith" | "notEndsWith", value: FieldPathValue<TFieldValuesSub, TFieldNameSub> extends string ? string : never): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
423
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, const V extends readonly FieldPathValue<TFieldValuesSub, TFieldNameSub>[]>(subPath: TFieldName, restPath: TFieldNameSub, op: "in" | "notIn", value: V): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
424
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(subPath: TFieldName, restPath: TFieldNameSub, op: "includes" | "notIncludes", value: GetArV<V>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
425
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(subPath: TFieldName, restPath: TFieldNameSub, op: "includes-any" | "notIncludes-any" | "includes-all" | "notIncludes-all", value: readonly GetArV<V>[]): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
426
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(f: {
427
+ subPath: TFieldName;
428
+ restPath: TFieldNameSub;
429
+ op: "eq";
430
+ value: V;
431
+ }): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
432
+ };
433
+ export type RefineWithLiteral<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V, Exclde extends boolean = false> = [
434
+ V
435
+ ] extends [string | number | boolean | null | bigint] ? RefineFieldPathValue<TFieldValues, TFieldName, V, Exclde> : TFieldValues;
436
+ export type FilteringRefinements<IsCurrentInitial extends boolean = false> = {
437
+ <TFieldValues extends FieldValues, const TFieldName extends FieldPath<TFieldValues>, const V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, RefineWithLiteral<TFieldValuesRefined, TFieldName, V>, TFieldName extends "_tag" ? true : false>;
438
+ <TFieldValues extends FieldValues, const TFieldName extends FieldPath<TFieldValues>, const V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "neq", value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, RefineWithLiteral<TFieldValuesRefined, TFieldName, V, true>, E>;
439
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, const V extends readonly FieldPathValue<TFieldValues, TFieldName>[], TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "in", value: V): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, RefineWithLiteral<TFieldValuesRefined, TFieldName, NonNullable<V[number]>>, E>;
440
+ };
441
+ export type NestedQueriesFixedRefinement<IsCurrentInitial extends boolean = false> = {
442
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>;
443
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>;
444
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>;
445
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>;
446
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>;
447
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>;
448
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>;
449
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>;
450
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>;
451
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>;
452
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>;
453
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined, E13>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E13>;
454
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined, E14>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined, E14>;
455
+ };
456
+ export type NestedQueriesFreeIntersectionRefinement = {
457
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined2, E2>;
458
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined3, E3>;
459
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined4, E4>;
460
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined5, E5>;
461
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined6, E6>;
462
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined7, E7>;
463
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined8, E8>;
464
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined9, E9>;
465
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined10, E10>;
466
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined11, E11>;
467
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined12, E12>;
468
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined13, E13>;
469
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined & TFieldValuesRefined14, E14>;
470
+ };
471
+ export type NestedQueriesFreeDisjointRefinement = {
472
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>;
473
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined3>;
474
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined4>;
475
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined5>;
476
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined6>;
477
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined7>;
478
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined2>;
479
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined9>;
480
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined10>;
481
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined11>;
482
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined12>;
483
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined13>;
484
+ <TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, TFieldValuesRefined2 extends TFieldValues = TFieldValues, TFieldValuesRefined3 extends TFieldValues = TFieldValues, TFieldValuesRefined4 extends TFieldValues = TFieldValues, TFieldValuesRefined5 extends TFieldValues = TFieldValues, TFieldValuesRefined6 extends TFieldValues = TFieldValues, TFieldValuesRefined7 extends TFieldValues = TFieldValues, TFieldValuesRefined8 extends TFieldValues = TFieldValues, TFieldValuesRefined9 extends TFieldValues = TFieldValues, TFieldValuesRefined10 extends TFieldValues = TFieldValues, TFieldValuesRefined11 extends TFieldValues = TFieldValues, TFieldValuesRefined12 extends TFieldValues = TFieldValues, TFieldValuesRefined13 extends TFieldValues = TFieldValues, TFieldValuesRefined14 extends TFieldValues = TFieldValues, E extends boolean = false, E2 extends boolean = false, E3 extends boolean = false, E4 extends boolean = false, E5 extends boolean = false, E6 extends boolean = false, E7 extends boolean = false, E8 extends boolean = false, E9 extends boolean = false, E10 extends boolean = false, E11 extends boolean = false, E12 extends boolean = false, E13 extends boolean = false, E14 extends boolean = false>(fb: (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValuesRefined2, E2>, fc: (query: QueryWhere<TFieldValues, TFieldValuesRefined2, E2>) => QueryWhere<TFieldValues, TFieldValuesRefined3, E3>, fd: (query: QueryWhere<TFieldValues, TFieldValuesRefined3, E3>) => QueryWhere<TFieldValues, TFieldValuesRefined4, E4>, fe: (query: QueryWhere<TFieldValues, TFieldValuesRefined4, E4>) => QueryWhere<TFieldValues, TFieldValuesRefined5, E5>, ff: (query: QueryWhere<TFieldValues, TFieldValuesRefined5, E5>) => QueryWhere<TFieldValues, TFieldValuesRefined6, E6>, fg: (query: QueryWhere<TFieldValues, TFieldValuesRefined6, E6>) => QueryWhere<TFieldValues, TFieldValuesRefined7, E7>, fh: (query: QueryWhere<TFieldValues, TFieldValuesRefined7, E7>) => QueryWhere<TFieldValues, TFieldValuesRefined8, E8>, fi: (query: QueryWhere<TFieldValues, TFieldValuesRefined8, E8>) => QueryWhere<TFieldValues, TFieldValuesRefined9, E9>, fj: (query: QueryWhere<TFieldValues, TFieldValuesRefined9, E9>) => QueryWhere<TFieldValues, TFieldValuesRefined10, E10>, fk: (query: QueryWhere<TFieldValues, TFieldValuesRefined10, E10>) => QueryWhere<TFieldValues, TFieldValuesRefined11, E11>, fl: (query: QueryWhere<TFieldValues, TFieldValuesRefined11, E11>) => QueryWhere<TFieldValues, TFieldValuesRefined12, E12>, fm: (query: QueryWhere<TFieldValues, TFieldValuesRefined12, E12>) => QueryWhere<TFieldValues, TFieldValuesRefined13, E13>, fn: (query: QueryWhere<TFieldValues, TFieldValuesRefined13, E13>) => QueryWhere<TFieldValues, TFieldValuesRefined14, E14>): (current: QueryWhere<TFieldValues, TFieldValuesRefined, E>) => QueryWhere<TFieldValues, TFieldValuesRefined | TFieldValuesRefined14>;
485
+ };
486
+ export type FilterWhere = NestedQueriesFixedRefinement<true> & FilteringRefinements<true> & FilterContinuations<true>;
487
+ export type FilterContinuationAnd = NestedQueriesFreeIntersectionRefinement & FilteringRefinements & FilterContinuations;
488
+ export type FilterContinuationOr = NestedQueriesFreeDisjointRefinement & FilterContinuations;
489
+ export type WhereEveryOrSome = {
490
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>>(subPath: TFieldName, dude: (current: Query<TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>, ...dudes: ((current: QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>) => QueryWhere<TFieldValues[TFieldName][number], TFieldValues[TFieldName][number]>)[]): (current: Query<TFieldValues>) => QueryWhere<TFieldValues, TFieldValues>;
491
+ } & FilterContinuationsWithSubpath;
492
+ export {};
493
+ //# sourceMappingURL=dsl.d.ts.map