effect-app 4.0.0-beta.32 → 4.0.0-beta.320

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 (369) hide show
  1. package/CHANGELOG.md +1553 -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/DataDependencies.d.ts +136 -0
  21. package/dist/DataDependencies.d.ts.map +1 -0
  22. package/dist/DataDependencies.js +112 -0
  23. package/dist/Effect.d.ts +10 -9
  24. package/dist/Effect.d.ts.map +1 -1
  25. package/dist/Effect.js +6 -9
  26. package/dist/Emailer.d.ts +51 -0
  27. package/dist/Emailer.d.ts.map +1 -0
  28. package/dist/Emailer.js +7 -0
  29. package/dist/Function.d.ts.map +1 -1
  30. package/dist/Layer.d.ts +10 -6
  31. package/dist/Layer.d.ts.map +1 -1
  32. package/dist/Layer.js +3 -2
  33. package/dist/Model/Repository/Registry.d.ts +22 -0
  34. package/dist/Model/Repository/Registry.d.ts.map +1 -0
  35. package/dist/Model/Repository/Registry.js +18 -0
  36. package/dist/Model/Repository/dependency.d.ts +6 -0
  37. package/dist/Model/Repository/dependency.d.ts.map +1 -0
  38. package/dist/Model/Repository/dependency.js +29 -0
  39. package/dist/Model/Repository/ext.d.ts +60 -0
  40. package/dist/Model/Repository/ext.d.ts.map +1 -0
  41. package/dist/Model/Repository/ext.js +124 -0
  42. package/dist/Model/Repository/internal/internal.d.ts +68 -0
  43. package/dist/Model/Repository/internal/internal.d.ts.map +1 -0
  44. package/dist/Model/Repository/internal/internal.js +579 -0
  45. package/dist/Model/Repository/legacy.d.ts +21 -0
  46. package/dist/Model/Repository/legacy.d.ts.map +1 -0
  47. package/dist/Model/Repository/legacy.js +2 -0
  48. package/dist/Model/Repository/makeRepo.d.ts +63 -0
  49. package/dist/Model/Repository/makeRepo.d.ts.map +1 -0
  50. package/dist/Model/Repository/makeRepo.js +27 -0
  51. package/dist/Model/Repository/service.d.ts +121 -0
  52. package/dist/Model/Repository/service.d.ts.map +1 -0
  53. package/dist/Model/Repository/service.js +2 -0
  54. package/dist/Model/Repository/validation.d.ts +58 -0
  55. package/dist/Model/Repository/validation.d.ts.map +1 -0
  56. package/dist/Model/Repository/validation.js +32 -0
  57. package/dist/Model/Repository.d.ts +8 -0
  58. package/dist/Model/Repository.d.ts.map +1 -0
  59. package/dist/Model/Repository.js +8 -0
  60. package/dist/Model/dsl.d.ts +33 -0
  61. package/dist/Model/dsl.d.ts.map +1 -0
  62. package/dist/Model/dsl.js +43 -0
  63. package/dist/Model/filter/filterApi.d.ts +30 -0
  64. package/dist/Model/filter/filterApi.d.ts.map +1 -0
  65. package/dist/Model/filter/filterApi.js +2 -0
  66. package/dist/Model/filter/types/errors.d.ts +29 -0
  67. package/dist/Model/filter/types/errors.d.ts.map +1 -0
  68. package/dist/Model/filter/types/errors.js +2 -0
  69. package/dist/Model/filter/types/fields.d.ts +15 -0
  70. package/dist/Model/filter/types/fields.d.ts.map +1 -0
  71. package/dist/Model/filter/types/fields.js +2 -0
  72. package/dist/Model/filter/types/path/common.d.ts +316 -0
  73. package/dist/Model/filter/types/path/common.d.ts.map +1 -0
  74. package/dist/Model/filter/types/path/common.js +2 -0
  75. package/dist/Model/filter/types/path/eager.d.ts +94 -0
  76. package/dist/Model/filter/types/path/eager.d.ts.map +1 -0
  77. package/dist/Model/filter/types/path/eager.js +36 -0
  78. package/dist/Model/filter/types/path/index.d.ts +4 -0
  79. package/dist/Model/filter/types/path/index.d.ts.map +1 -0
  80. package/dist/Model/filter/types/path/index.js +3 -0
  81. package/dist/Model/filter/types/utils.d.ts +79 -0
  82. package/dist/Model/filter/types/utils.d.ts.map +1 -0
  83. package/dist/Model/filter/types/utils.js +2 -0
  84. package/dist/Model/filter/types/validator.d.ts +30 -0
  85. package/dist/Model/filter/types/validator.d.ts.map +1 -0
  86. package/dist/Model/filter/types/validator.js +2 -0
  87. package/dist/Model/filter/types.d.ts +5 -0
  88. package/dist/Model/filter/types.d.ts.map +1 -0
  89. package/dist/Model/filter/types.js +7 -0
  90. package/dist/Model/query/dsl.d.ts +630 -0
  91. package/dist/Model/query/dsl.d.ts.map +1 -0
  92. package/dist/Model/query/dsl.js +376 -0
  93. package/dist/Model/query/new-kid-interpreter.d.ts +132 -0
  94. package/dist/Model/query/new-kid-interpreter.d.ts.map +1 -0
  95. package/dist/Model/query/new-kid-interpreter.js +361 -0
  96. package/dist/Model/query.d.ts +15 -0
  97. package/dist/Model/query.d.ts.map +1 -0
  98. package/dist/Model/query.js +3 -0
  99. package/dist/Model.d.ts +6 -0
  100. package/dist/Model.d.ts.map +1 -0
  101. package/dist/Model.js +6 -0
  102. package/dist/NonEmptySet.d.ts +3 -1
  103. package/dist/NonEmptySet.d.ts.map +1 -1
  104. package/dist/NonEmptySet.js +2 -2
  105. package/dist/Option.d.ts +1 -0
  106. package/dist/Option.d.ts.map +1 -1
  107. package/dist/Option.js +3 -1
  108. package/dist/Pure.d.ts +7 -5
  109. package/dist/Pure.d.ts.map +1 -1
  110. package/dist/Pure.js +7 -4
  111. package/dist/QueueMaker.d.ts +11 -0
  112. package/dist/QueueMaker.d.ts.map +1 -0
  113. package/dist/QueueMaker.js +11 -0
  114. package/dist/RequestContext.d.ts +87 -0
  115. package/dist/RequestContext.d.ts.map +1 -0
  116. package/dist/RequestContext.js +45 -0
  117. package/dist/RequestScopedDependencies.d.ts +21 -0
  118. package/dist/RequestScopedDependencies.d.ts.map +1 -0
  119. package/dist/RequestScopedDependencies.js +16 -0
  120. package/dist/Schema/Class.d.ts +200 -20
  121. package/dist/Schema/Class.d.ts.map +1 -1
  122. package/dist/Schema/Class.js +268 -17
  123. package/dist/Schema/FastCheck.d.ts.map +1 -1
  124. package/dist/Schema/SchemaParser.d.ts +5 -0
  125. package/dist/Schema/SchemaParser.d.ts.map +1 -0
  126. package/dist/Schema/SchemaParser.js +6 -0
  127. package/dist/Schema/SpecialJsonSchema.d.ts +34 -0
  128. package/dist/Schema/SpecialJsonSchema.d.ts.map +1 -0
  129. package/dist/Schema/SpecialJsonSchema.js +117 -0
  130. package/dist/Schema/SpecialOpenApi.d.ts +32 -0
  131. package/dist/Schema/SpecialOpenApi.d.ts.map +1 -0
  132. package/dist/Schema/SpecialOpenApi.js +123 -0
  133. package/dist/Schema/brand.d.ts +4 -2
  134. package/dist/Schema/brand.d.ts.map +1 -1
  135. package/dist/Schema/brand.js +3 -1
  136. package/dist/Schema/email.d.ts.map +1 -1
  137. package/dist/Schema/email.js +7 -4
  138. package/dist/Schema/ext.d.ts +336 -55
  139. package/dist/Schema/ext.d.ts.map +1 -1
  140. package/dist/Schema/ext.js +378 -55
  141. package/dist/Schema/moreStrings.d.ts +82 -36
  142. package/dist/Schema/moreStrings.d.ts.map +1 -1
  143. package/dist/Schema/moreStrings.js +49 -42
  144. package/dist/Schema/numbers.d.ts +34 -21
  145. package/dist/Schema/numbers.d.ts.map +1 -1
  146. package/dist/Schema/numbers.js +55 -12
  147. package/dist/Schema/phoneNumber.d.ts.map +1 -1
  148. package/dist/Schema/phoneNumber.js +6 -3
  149. package/dist/Schema/schema.d.ts +1 -1
  150. package/dist/Schema/schema.d.ts.map +1 -1
  151. package/dist/Schema/schema.js +2 -2
  152. package/dist/Schema/strings.d.ts +18 -4
  153. package/dist/Schema/strings.d.ts.map +1 -1
  154. package/dist/Schema/strings.js +1 -5
  155. package/dist/Schema.d.ts +222 -8
  156. package/dist/Schema.d.ts.map +1 -1
  157. package/dist/Schema.js +191 -12
  158. package/dist/SchemaAST.d.ts +2 -0
  159. package/dist/SchemaAST.d.ts.map +1 -0
  160. package/dist/SchemaAST.js +2 -0
  161. package/dist/Set.d.ts +4 -1
  162. package/dist/Set.d.ts.map +1 -1
  163. package/dist/Set.js +3 -2
  164. package/dist/Store.d.ts +170 -0
  165. package/dist/Store.d.ts.map +1 -0
  166. package/dist/Store.js +113 -0
  167. package/dist/_ext/Array.d.ts +1 -1
  168. package/dist/_ext/Array.d.ts.map +1 -1
  169. package/dist/_ext/Array.js +4 -2
  170. package/dist/_ext/misc.d.ts +4 -1
  171. package/dist/_ext/misc.d.ts.map +1 -1
  172. package/dist/_ext/misc.js +4 -2
  173. package/dist/_ext/ord.ext.d.ts +2 -1
  174. package/dist/_ext/ord.ext.d.ts.map +1 -1
  175. package/dist/_ext/ord.ext.js +2 -2
  176. package/dist/builtin.d.ts +2 -14
  177. package/dist/builtin.d.ts.map +1 -1
  178. package/dist/builtin.js +1 -1
  179. package/dist/client/InvalidationKeys.d.ts +30 -0
  180. package/dist/client/InvalidationKeys.d.ts.map +1 -0
  181. package/dist/client/InvalidationKeys.js +37 -0
  182. package/dist/client/apiClientFactory.d.ts +19 -31
  183. package/dist/client/apiClientFactory.d.ts.map +1 -1
  184. package/dist/client/apiClientFactory.js +155 -35
  185. package/dist/client/clientFor.d.ts +54 -18
  186. package/dist/client/clientFor.d.ts.map +1 -1
  187. package/dist/client/clientFor.js +9 -1
  188. package/dist/client/errors.d.ts +82 -27
  189. package/dist/client/errors.d.ts.map +1 -1
  190. package/dist/client/errors.js +75 -19
  191. package/dist/client/makeClient.d.ts +490 -34
  192. package/dist/client/makeClient.d.ts.map +1 -1
  193. package/dist/client/makeClient.js +62 -30
  194. package/dist/client.d.ts +2 -0
  195. package/dist/client.d.ts.map +1 -1
  196. package/dist/client.js +3 -1
  197. package/dist/faker.d.ts.map +1 -1
  198. package/dist/http/Request.d.ts +1 -1
  199. package/dist/http/Request.d.ts.map +1 -1
  200. package/dist/http/Request.js +2 -2
  201. package/dist/ids.d.ts +42 -14
  202. package/dist/ids.d.ts.map +1 -1
  203. package/dist/ids.js +30 -5
  204. package/dist/index.d.ts +6 -7
  205. package/dist/index.d.ts.map +1 -1
  206. package/dist/index.js +8 -8
  207. package/dist/middleware.d.ts +13 -7
  208. package/dist/middleware.d.ts.map +1 -1
  209. package/dist/middleware.js +14 -8
  210. package/dist/rpc/Invalidation.d.ts +1124 -0
  211. package/dist/rpc/Invalidation.d.ts.map +1 -0
  212. package/dist/rpc/Invalidation.js +178 -0
  213. package/dist/rpc/MiddlewareMaker.d.ts +11 -7
  214. package/dist/rpc/MiddlewareMaker.d.ts.map +1 -1
  215. package/dist/rpc/MiddlewareMaker.js +59 -38
  216. package/dist/rpc/RpcContextMap.d.ts +3 -3
  217. package/dist/rpc/RpcContextMap.d.ts.map +1 -1
  218. package/dist/rpc/RpcContextMap.js +4 -4
  219. package/dist/rpc/RpcMiddleware.d.ts +14 -10
  220. package/dist/rpc/RpcMiddleware.d.ts.map +1 -1
  221. package/dist/rpc/RpcMiddleware.js +1 -1
  222. package/dist/rpc.d.ts +1 -1
  223. package/dist/rpc.d.ts.map +1 -1
  224. package/dist/rpc.js +2 -2
  225. package/dist/runtime.d.ts +19 -0
  226. package/dist/runtime.d.ts.map +1 -0
  227. package/dist/runtime.js +40 -0
  228. package/dist/setupRequest.d.ts +20 -0
  229. package/dist/setupRequest.d.ts.map +1 -0
  230. package/dist/setupRequest.js +72 -0
  231. package/dist/toast.d.ts +51 -0
  232. package/dist/toast.d.ts.map +1 -0
  233. package/dist/toast.js +34 -0
  234. package/dist/transform.d.ts +1 -1
  235. package/dist/transform.d.ts.map +1 -1
  236. package/dist/transform.js +4 -5
  237. package/dist/utils/effectify.d.ts +1 -1
  238. package/dist/utils/effectify.d.ts.map +1 -1
  239. package/dist/utils/effectify.js +2 -2
  240. package/dist/utils/extend.d.ts.map +1 -1
  241. package/dist/utils/gen.d.ts +4 -4
  242. package/dist/utils/gen.d.ts.map +1 -1
  243. package/dist/utils/logLevel.d.ts +2 -2
  244. package/dist/utils/logLevel.d.ts.map +1 -1
  245. package/dist/utils/logger.d.ts +4 -3
  246. package/dist/utils/logger.d.ts.map +1 -1
  247. package/dist/utils/logger.js +4 -4
  248. package/dist/utils.d.ts +34 -39
  249. package/dist/utils.d.ts.map +1 -1
  250. package/dist/utils.js +33 -37
  251. package/dist/validation/validators.d.ts.map +1 -1
  252. package/dist/validation.d.ts.map +1 -1
  253. package/dist/withToast.d.ts +30 -0
  254. package/dist/withToast.d.ts.map +1 -0
  255. package/dist/withToast.js +64 -0
  256. package/package.json +27 -251
  257. package/src/Array.ts +5 -5
  258. package/src/Chunk.ts +3 -3
  259. package/src/Config/SecretURL.ts +6 -3
  260. package/src/Config/internal/configSecretURL.ts +2 -2
  261. package/src/Config.ts +7 -0
  262. package/src/ConfigProvider.ts +5 -0
  263. package/src/{ServiceMap.ts → Context.ts} +56 -63
  264. package/src/DataDependencies.ts +171 -0
  265. package/src/Effect.ts +15 -17
  266. package/src/Emailer.ts +51 -0
  267. package/src/Inputify.type.ts +1 -1
  268. package/src/Layer.ts +11 -7
  269. package/src/Model/Repository/Registry.ts +35 -0
  270. package/src/Model/Repository/dependency.ts +32 -0
  271. package/src/Model/Repository/ext.ts +374 -0
  272. package/src/Model/Repository/internal/internal.ts +950 -0
  273. package/src/Model/Repository/legacy.ts +29 -0
  274. package/src/Model/Repository/makeRepo.ts +156 -0
  275. package/src/Model/Repository/service.ts +676 -0
  276. package/src/Model/Repository/validation.ts +31 -0
  277. package/src/Model/Repository.ts +7 -0
  278. package/src/Model/dsl.ts +129 -0
  279. package/src/Model/filter/filterApi.ts +78 -0
  280. package/src/Model/filter/types/errors.ts +47 -0
  281. package/src/Model/filter/types/fields.ts +50 -0
  282. package/src/Model/filter/types/path/common.ts +404 -0
  283. package/src/Model/filter/types/path/eager.ts +329 -0
  284. package/src/Model/filter/types/path/index.ts +4 -0
  285. package/src/Model/filter/types/utils.ts +128 -0
  286. package/src/Model/filter/types/validator.ts +46 -0
  287. package/src/Model/filter/types.ts +6 -0
  288. package/src/Model/query/dsl.ts +3092 -0
  289. package/src/Model/query/new-kid-interpreter.ts +526 -0
  290. package/src/Model/query.ts +13 -0
  291. package/src/Model.ts +5 -0
  292. package/src/NonEmptySet.ts +6 -4
  293. package/src/Option.ts +2 -0
  294. package/src/Pure.ts +10 -7
  295. package/src/QueueMaker.ts +11 -0
  296. package/src/RequestContext.ts +48 -0
  297. package/src/RequestScopedDependencies.ts +45 -0
  298. package/src/Schema/Class.ts +648 -60
  299. package/src/Schema/SchemaParser.ts +12 -0
  300. package/src/Schema/SpecialJsonSchema.ts +137 -0
  301. package/src/Schema/SpecialOpenApi.ts +130 -0
  302. package/src/Schema/brand.ts +22 -2
  303. package/src/Schema/email.ts +9 -4
  304. package/src/Schema/ext.ts +499 -95
  305. package/src/Schema/moreStrings.ts +148 -69
  306. package/src/Schema/numbers.ts +97 -28
  307. package/src/Schema/phoneNumber.ts +9 -5
  308. package/src/Schema/schema.ts +1 -1
  309. package/src/Schema/strings.ts +23 -14
  310. package/src/Schema.ts +397 -26
  311. package/src/SchemaAST.ts +1 -0
  312. package/src/Set.ts +6 -2
  313. package/src/Store.ts +280 -0
  314. package/src/_ext/Array.ts +4 -2
  315. package/src/_ext/misc.ts +4 -1
  316. package/src/_ext/ord.ext.ts +2 -1
  317. package/src/builtin-json.d.ts +24 -0
  318. package/src/builtin.ts +16 -21
  319. package/src/client/InvalidationKeys.ts +55 -0
  320. package/src/client/apiClientFactory.ts +299 -134
  321. package/src/client/clientFor.ts +107 -34
  322. package/src/client/errors.ts +100 -29
  323. package/src/client/makeClient.ts +594 -80
  324. package/src/client.ts +6 -4
  325. package/src/http/Request.ts +3 -3
  326. package/src/http.ts +1 -1
  327. package/src/ids.ts +33 -6
  328. package/src/index.ts +20 -23
  329. package/src/middleware.ts +13 -9
  330. package/src/rpc/Invalidation.ts +278 -0
  331. package/src/rpc/MiddlewareMaker.ts +88 -80
  332. package/src/rpc/README.md +2 -2
  333. package/src/rpc/RpcContextMap.ts +7 -6
  334. package/src/rpc/RpcMiddleware.ts +19 -13
  335. package/src/rpc.ts +4 -4
  336. package/src/runtime.ts +56 -0
  337. package/src/setupRequest.ts +138 -0
  338. package/src/toast.ts +54 -0
  339. package/src/transform.ts +4 -4
  340. package/src/utils/effectify.ts +1 -1
  341. package/src/utils/gen.ts +8 -8
  342. package/src/utils/logLevel.ts +1 -1
  343. package/src/utils/logger.ts +4 -3
  344. package/src/utils.ts +85 -158
  345. package/src/validation.ts +2 -2
  346. package/src/withToast.ts +133 -0
  347. package/test/dist/rpc.test.d.ts.map +1 -1
  348. package/test/dist/rpcMiddlewareContext.test.d.ts.map +1 -0
  349. package/test/dist/secretURL.test.d.ts.map +1 -0
  350. package/test/dist/special.test.d.ts.map +1 -0
  351. package/test/moreStrings.test.ts +2 -2
  352. package/test/rpc.test.ts +42 -14
  353. package/test/rpcMiddlewareContext.test.ts +63 -0
  354. package/test/schema.test.ts +514 -35
  355. package/test/secretURL.test.ts +160 -0
  356. package/test/special.test.ts +1257 -0
  357. package/test/utils.test.ts +7 -7
  358. package/tsconfig.base.json +6 -5
  359. package/tsconfig.json +9 -2
  360. package/tsconfig.src.json +29 -29
  361. package/tsconfig.test.json +2 -2
  362. package/dist/Operations.d.ts +0 -123
  363. package/dist/Operations.d.ts.map +0 -1
  364. package/dist/Operations.js +0 -29
  365. package/dist/ServiceMap.d.ts.map +0 -1
  366. package/dist/ServiceMap.js +0 -91
  367. package/eslint.config.mjs +0 -26
  368. package/src/Operations.ts +0 -55
  369. package/tsconfig.json.bak +0 -12
@@ -0,0 +1,630 @@
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 ExtractFieldValues<T> = T extends QueryTogether<infer TFieldValues, any, any, any, any, any, any> ? TFieldValues : never;
26
+ type ExtractFieldValuesRefined<T> = T extends QueryTogether<any, infer TFieldValuesRefined, any, any, any, any, any> ? TFieldValuesRefined : never;
27
+ type KeysOfUnion<T> = T extends T ? keyof T : never;
28
+ /** Peel Schema `tag`/`Literal` brands down to the underlying literal value. */
29
+ type LiteralValue<T> = T extends {
30
+ readonly literal: infer L;
31
+ } ? L : T extends string | number | boolean | null | bigint ? T : never;
32
+ type TagKey<T> = [LiteralValue<T>] extends [never] ? (string extends T ? string : [T] extends [PropertyKey] ? T : T) : LiteralValue<T>;
33
+ type ExtractTagged<From, Tag> = From extends {
34
+ readonly _tag: infer FromTag;
35
+ } ? [TagKey<FromTag>] extends [TagKey<Tag>] ? From : never : never;
36
+ type UnionToIntersection<U> = (U extends any ? (k: U) => void : never) extends (k: infer I) => void ? I : never;
37
+ /**
38
+ * True when `Tag` is a single tag token (string literal or opaque brand like
39
+ * Schema.tag<"packing">), not a union of tags and not bare `string`.
40
+ */
41
+ type IsSingleLiteralTag<Tag> = string extends Tag ? false : [Tag] extends [UnionToIntersection<Tag>] ? true : false;
42
+ /**
43
+ * Domain shape that may supply stored fields for projection member `I`.
44
+ *
45
+ * - True tagged unions (`A | B` with different fields per `_tag`) resolve to the
46
+ * matching member so state-owned keys are not treated as universal.
47
+ * - Flat models that only carry `_tag: "a" | "b"` on a shared shape (no
48
+ * per-tag members in the Encoded union) fall back to the full `From` so
49
+ * existing Class+Literals projections keep typechecking.
50
+ */
51
+ type ProjectableSource<I, From> = I extends {
52
+ readonly _tag: infer Tag;
53
+ } ? ([
54
+ ExtractTagged<From, Tag>
55
+ ] extends [never] ? From : ExtractTagged<From, Tag>) : From;
56
+ /**
57
+ * One projection member is projectable when every key is either:
58
+ * - in `ExtraKeys` (computed by the query / not stored on the domain row), or
59
+ * - a key of the matching domain source member (key presence only; nested
60
+ * field types may be narrowed by the projection).
61
+ *
62
+ * Uses `keyof Source` (not `KeysOfUnion` of the whole domain union) so a field
63
+ * owned only by some tags cannot be required on every branch — except for a
64
+ * single literal tag that maps to several domain variants (same `_tag`,
65
+ * different payloads), where `KeysOfUnion` allows each variant's keys.
66
+ */
67
+ /**
68
+ * Keys the domain may supply for projection member `I`.
69
+ * - Single-literal tagged `I` (`_tag: "packing"`): keys of *any* same-tag
70
+ * domain variant (`KeysOfUnion`) — dual packing/closed shapes stay projectable.
71
+ * - Multi-tag / string-tagged `I` (`_tag: "a"|"b"` or `string`): keys of the
72
+ * *intersection* of matched domain members (`keyof` of the source union) so
73
+ * a flat multi-tag DTO cannot claim state-only fields (e.g. `batchId` on
74
+ * `initial`).
75
+ * - Untagged `I` (plain project DTOs): keys present on *any* domain member
76
+ * (`KeysOfUnion`), matching historical `project()` behavior.
77
+ */
78
+ type ProjectableDomainKeys<I, From> = I extends {
79
+ readonly _tag: infer Tag;
80
+ } ? (IsSingleLiteralTag<Tag> extends true ? KeysOfUnion<ProjectableSource<I, From>> : keyof ProjectableSource<I, From>) : KeysOfUnion<From>;
81
+ /**
82
+ * Keys on projection member `I` that are neither computed (`ExtraKeys`) nor
83
+ * present on the matching domain source. Key presence only — nested field
84
+ * types may be narrowed by the projection, and optional domain/projection
85
+ * keys must not fail via `{ k?: T } extends { k: T }` (the old `-?` mapped
86
+ * assignability check rejected legitimate optionalKey fields like closed.batchId).
87
+ */
88
+ type UnprojectableKeys<I, From, ExtraKeys extends PropertyKey> = {
89
+ [K in keyof I]-?: K extends ExtraKeys ? never : K extends ProjectableDomainKeys<I, From> ? never : K;
90
+ }[keyof I];
91
+ /**
92
+ * Distribute over tagged-union projection Encoded types. A non-distributive
93
+ * check against a union only sees `keyof (A|B)` (key intersection) and misses
94
+ * branch-only fields like cancel-only omissions.
95
+ */
96
+ type IsProjectableMember<I, From, ExtraKeys extends PropertyKey> = [I] extends [FieldValues] ? ([UnprojectableKeys<I, From, ExtraKeys>] extends [never] ? true : false) : false;
97
+ /**
98
+ * `unknown` when every member of projection Encoded `I` is projectable from
99
+ * domain Encoded `From` (plus optional ExtraKeys for computed fields); `never`
100
+ * otherwise — use as an intersection constraint on a schema argument.
101
+ */
102
+ type ProjectableGuard<I, From, ExtraKeys extends PropertyKey = never> = false extends (I extends any ? IsProjectableMember<I, From, ExtraKeys> : never) ? never : unknown;
103
+ /**
104
+ * Compile-time proof that a projection Encoded shape only requires stored keys
105
+ * that exist on the matching domain tagged state (or non-tagged source), plus
106
+ * any `ExtraKeys` filled by `projectComputed` (counts, flags, collects, …).
107
+ *
108
+ * Catches the class of Overview.List SchemaError where a cancel/recovery state
109
+ * omits a workflow lock field (`activeRequest`) in the domain model but the
110
+ * projection still requires it on every branch.
111
+ *
112
+ * @example
113
+ * ```ts
114
+ * type _ok = ProjectableFromDomain<
115
+ * { readonly _tag: "cancelled"; readonly id: string },
116
+ * DomainEnc
117
+ * > // unknown
118
+ *
119
+ * type _bad = ProjectableFromDomain<
120
+ * { readonly _tag: "cancelled"; readonly id: string; readonly activeRequest: null },
121
+ * DomainEnc
122
+ * > // never — activeRequest is not on domain cancelled
123
+ * ```
124
+ */
125
+ export type ProjectableFromDomain<ProjectionEncoded, DomainEncoded, ExtraKeys extends PropertyKey = never> = ProjectableGuard<ProjectionEncoded, DomainEncoded, ExtraKeys>;
126
+ export type RelationDirection = "some" | "every";
127
+ export type Relation = {
128
+ relation: RelationDirection;
129
+ };
130
+ export type Query<TFieldValues extends FieldValues> = QueryTogether<TFieldValues, TFieldValues>;
131
+ export type QueryWhere<TFieldValues extends FieldValues, TFieldValuesRefined extends TFieldValues = TFieldValues, Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValuesRefined, Exclusive, "where"> & Relation;
132
+ export type QueryEnd<TFieldValues extends FieldValues, TType extends "many" | "one" | "count" = "many", Exclusive extends boolean = false> = QueryTogether<TFieldValues, TFieldValues, Exclusive, "end", TFieldValues, never, TType>;
133
+ 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>;
134
+ export type ComputedProjectionOperation = (q: Query<any>) => QueryWhere<any, any, any>;
135
+ export type ComputedProjectionMathExpression = {
136
+ readonly _tag: "field";
137
+ readonly field: string;
138
+ } | {
139
+ readonly _tag: "mul";
140
+ readonly left: ComputedProjectionMathExpression;
141
+ readonly right: ComputedProjectionMathExpression;
142
+ };
143
+ declare const ComputedProjectionExpressionTypeId: unique symbol;
144
+ type ComputedProjectionOutput<A> = {
145
+ readonly [ComputedProjectionExpressionTypeId]?: Covariant<A>;
146
+ };
147
+ export type ComputedProjectionExpression<A = unknown> = ComputedProjectionOutput<A> & ({
148
+ readonly _tag: "relation-count";
149
+ readonly path: string;
150
+ readonly operation?: ComputedProjectionOperation;
151
+ } | {
152
+ readonly _tag: "relation-any";
153
+ readonly path: string;
154
+ readonly operation?: ComputedProjectionOperation;
155
+ } | {
156
+ readonly _tag: "relation-every";
157
+ readonly path: string;
158
+ readonly operation: ComputedProjectionOperation;
159
+ } | {
160
+ readonly _tag: "relation-distinct-count";
161
+ readonly path: string;
162
+ readonly field: string;
163
+ readonly operation?: ComputedProjectionOperation;
164
+ } | {
165
+ readonly _tag: "relation-sum";
166
+ readonly path: string;
167
+ readonly field: string;
168
+ readonly operation?: ComputedProjectionOperation;
169
+ } | {
170
+ readonly _tag: "relation-sum-expr";
171
+ readonly path: string;
172
+ readonly expression: ComputedProjectionMathExpression;
173
+ readonly operation?: ComputedProjectionOperation;
174
+ } | {
175
+ readonly _tag: "relation-sum-expr-by";
176
+ readonly path: string;
177
+ readonly expression: ComputedProjectionMathExpression;
178
+ readonly unit: string;
179
+ readonly operation?: ComputedProjectionOperation;
180
+ } | {
181
+ readonly _tag: "relation-sum-expr-normalized";
182
+ readonly path: string;
183
+ readonly expression: ComputedProjectionMathExpression;
184
+ readonly unit: string;
185
+ readonly toBase: string;
186
+ readonly factors: Readonly<Record<string, number>>;
187
+ readonly operation?: ComputedProjectionOperation;
188
+ } | {
189
+ readonly _tag: "relation-collect";
190
+ readonly path: string;
191
+ readonly field: string;
192
+ readonly distinct: boolean;
193
+ readonly operation?: ComputedProjectionOperation;
194
+ } | {
195
+ readonly _tag: "relation-collect-fields";
196
+ readonly path: string;
197
+ readonly fields: readonly string[];
198
+ readonly distinct: boolean;
199
+ readonly operation?: ComputedProjectionOperation;
200
+ } | {
201
+ readonly _tag: "relation-length";
202
+ readonly path: string;
203
+ });
204
+ type NoExtraComputedKeys<M extends ComputedProjectionMap, I> = string extends keyof M ? unknown : Exclude<keyof M, KeysOfUnion<I>> extends never ? unknown : never;
205
+ /**
206
+ * An expression that aggregates values across documents (for use with {@link aggregate}).
207
+ * `agg-field` references a document field to group by; other tags are aggregate functions.
208
+ */
209
+ export type AggregateExpression = {
210
+ readonly _tag: "agg-field";
211
+ readonly path: string;
212
+ } | {
213
+ readonly _tag: "agg-count";
214
+ } | {
215
+ readonly _tag: "agg-count-when";
216
+ readonly operation: ComputedProjectionOperation;
217
+ } | {
218
+ readonly _tag: "agg-sum";
219
+ readonly field: string;
220
+ } | {
221
+ readonly _tag: "agg-min";
222
+ readonly field: string;
223
+ } | {
224
+ readonly _tag: "agg-max";
225
+ readonly field: string;
226
+ };
227
+ export type AggregateMap = Readonly<Record<string, AggregateExpression>>;
228
+ export type ComputedProjectionMap = Readonly<Record<string, ComputedProjectionExpression>>;
229
+ 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>;
230
+ 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> & {
231
+ readonly _tag: "value";
232
+ } & Pipeable.Pipeable;
233
+ export declare class Initial<TFieldValues extends FieldValues> extends Initial_base<{
234
+ value: "initial";
235
+ }> implements Query<TFieldValues> {
236
+ readonly [QId]: any;
237
+ constructor();
238
+ pipe(): unknown;
239
+ }
240
+ 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> & {
241
+ readonly _tag: "where";
242
+ } & Pipeable.Pipeable;
243
+ export declare class Where<TFieldValues extends FieldValues> extends Where_base<{
244
+ current: Query<TFieldValues>;
245
+ operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
246
+ relation: RelationDirection;
247
+ subPath?: string;
248
+ }> implements QueryWhere<TFieldValues> {
249
+ readonly [QId]: any;
250
+ pipe(): unknown;
251
+ }
252
+ 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> & {
253
+ readonly _tag: "and";
254
+ } & Pipeable.Pipeable;
255
+ export declare class And<TFieldValues extends FieldValues> extends And_base<{
256
+ current: Query<TFieldValues>;
257
+ operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
258
+ relation: RelationDirection;
259
+ }> implements QueryWhere<TFieldValues> {
260
+ readonly [QId]: any;
261
+ pipe(): unknown;
262
+ }
263
+ 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> & {
264
+ readonly _tag: "or";
265
+ } & Pipeable.Pipeable;
266
+ export declare class Or<TFieldValues extends FieldValues> extends Or_base<{
267
+ current: Query<TFieldValues>;
268
+ operation: [string, Ops, any] | [string, any] | ((q: Query<TFieldValues>) => QueryWhere<TFieldValues>);
269
+ relation: RelationDirection;
270
+ }> implements QueryWhere<TFieldValues> {
271
+ readonly [QId]: any;
272
+ pipe(): unknown;
273
+ }
274
+ 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> & {
275
+ readonly _tag: "page";
276
+ } & Pipeable.Pipeable;
277
+ export declare class Page<TFieldValues extends FieldValues> extends Page_base<{
278
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
279
+ take?: number | undefined;
280
+ skip?: number | undefined;
281
+ }> implements QueryEnd<TFieldValues> {
282
+ readonly [QId]: any;
283
+ pipe(): unknown;
284
+ }
285
+ 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> & {
286
+ readonly _tag: "one";
287
+ } & Pipeable.Pipeable;
288
+ export declare class One<TFieldValues extends FieldValues> extends One_base<{
289
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
290
+ }> implements QueryEnd<TFieldValues, "one"> {
291
+ readonly [QId]: any;
292
+ pipe(): unknown;
293
+ }
294
+ 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> & {
295
+ readonly _tag: "count";
296
+ } & Pipeable.Pipeable;
297
+ export declare class Count<TFieldValues extends FieldValues> extends Count_base<{
298
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
299
+ }> implements QueryEnd<TFieldValues, "count"> {
300
+ readonly [QId]: any;
301
+ pipe(): unknown;
302
+ }
303
+ 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> & {
304
+ readonly _tag: "order";
305
+ } & Pipeable.Pipeable;
306
+ export declare class Order<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>> extends Order_base<{
307
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues>;
308
+ field: TFieldName;
309
+ direction: "ASC" | "DESC";
310
+ }> implements QueryEnd<TFieldValues> {
311
+ readonly [QId]: any;
312
+ pipe(): unknown;
313
+ }
314
+ 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> & {
315
+ readonly _tag: "project";
316
+ } & Pipeable.Pipeable;
317
+ export declare class Project<A, TFieldValues extends FieldValues, R, TType extends "one" | "many" = "many"> extends Project_base<{
318
+ current: Query<TFieldValues> | QueryWhere<any, TFieldValues> | QueryEnd<TFieldValues, TType>;
319
+ schema: S.Codec<A, TFieldValues, R>;
320
+ mode: "collect" | "project" | "transform" | "aggregate";
321
+ computed?: ComputedProjectionMap;
322
+ aggregateMap?: AggregateMap;
323
+ }> implements QueryProjection<TFieldValues, A, R> {
324
+ readonly [QId]: any;
325
+ pipe(): unknown;
326
+ }
327
+ export declare const make: <TFieldValues extends FieldValues>() => Query<TFieldValues>;
328
+ export declare const where: FilterWhere;
329
+ export declare const and: FilterContinuationAnd;
330
+ export declare const or: FilterContinuationOr;
331
+ export declare const whereEvery: WhereEveryOrSome;
332
+ export declare const whereSome: WhereEveryOrSome;
333
+ export declare const order: {
334
+ <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>>;
335
+ };
336
+ export declare const page: {
337
+ (page: {
338
+ skip?: number;
339
+ take?: number;
340
+ }): <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q) => QueryEnd<ExtractFieldValuesRefined<Q>, "many", ExtractExclusiveness<Q>>;
341
+ };
342
+ export declare const one: {
343
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryEnd<ExtractFieldValuesRefined<Q>, "one", ExtractExclusiveness<Q>>;
344
+ };
345
+ export declare const count: {
346
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "many", any>>(current: Q): QueryProjection<ExtractFieldValuesRefined<Q>, NonNegativeInt, never, "count", ExtractExclusiveness<Q>>;
347
+ };
348
+ /**
349
+ * Attach a projection schema to a query.
350
+ *
351
+ * The `select` clause sent to the store is derived from the schema's encoded
352
+ * AST property names (top-level + per-array sub-keys), so a projection always
353
+ * narrows what is read from the store. The repository augments that select
354
+ * with `id` and `_etag` for change tracking. See {@link toFilter} and the
355
+ * dispatch in `Repository/internal/internal.ts`.
356
+ *
357
+ * Modes — pick based on shape of the decoded value and on whether the
358
+ * persistence-model (PM) reverse-mapping is needed:
359
+ *
360
+ * - `"transform"` (default when `mode` omitted): goes through the repo's
361
+ * `parseMany` pipeline. The raw row is reverse-mapped via the
362
+ * etag/PM cache (re-injecting `_etag` and any PM-shape state) before
363
+ * decoding. Decode failures `orDie` (error channel = `never`). Use when
364
+ * the schema operates on the full PM shape (e.g. full-entity reads that
365
+ * must preserve etag tracking).
366
+ *
367
+ * - `"project"`: decodes the raw encoded row directly with the supplied
368
+ * schema. No PM reverse-mapping, no etag cache merge. Decode failures
369
+ * surface as `S.SchemaError`. Use for slim DTOs / aggregations that do not
370
+ * need etag tracking and whose schema input is a plain subset of `Encoded`.
371
+ *
372
+ * - `"collect"`: like `"project"`, but the schema yields `Option<A>` and
373
+ * `None` values are dropped post-decode (`Array.getSomes`). Use to filter
374
+ * rows during decode (e.g. discriminated-union narrowing where some rows
375
+ * should not appear in the result).
376
+ */
377
+ export declare const project: {
378
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends ExtractFieldValuesRefined<Q>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, I, R>, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
379
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends ExtractFieldValuesRefined<Q>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>, mode: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
380
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends ExtractFieldValuesRefined<Q>, A = ExtractFieldValuesRefined<Q>, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R>): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
381
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends FieldValues, A, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<Option.Option<A>, I, R> & ProjectableGuard<I, ExtractFieldValues<Q>>, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
382
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends FieldValues, A, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R> & ProjectableGuard<I, ExtractFieldValues<Q>>, mode: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
383
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, I extends FieldValues, A, R = never, E extends boolean = ExtractExclusiveness<Q>>(schema: S.Codec<A, I, R> & ProjectableGuard<I, ExtractFieldValues<Q>>): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, A, R, ExtractTType<Q>, E>;
384
+ };
385
+ /**
386
+ * Element type of an array-valued field path on `TFieldValues`. Falls back to
387
+ * `FieldValues` when the path does not resolve to an array of structs so that
388
+ * `FieldPath<...>` stays defined (it just degrades to `string`).
389
+ *
390
+ * Uses `Extract` so that when `P` defaults to the full `FieldPath<TFieldValues>`
391
+ * union, only the array-valued branches contribute to the element type.
392
+ */
393
+ 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;
394
+ export declare const relation: <TFieldValues extends FieldValues, const P extends FieldPath<TFieldValues> = FieldPath<TFieldValues>>(path: P) => {
395
+ /**
396
+ * Typed math-expression builder bound to the relation's element scope:
397
+ * `relation("items").expr.field("weight")` constrains the field path to
398
+ * `FieldPath<RelationElement<TFieldValues, P>>`.
399
+ */
400
+ expr: {
401
+ field: (field: FieldPath<RelationElement<TFieldValues, P>>) => ComputedProjectionMathExpression;
402
+ mul: (left: ComputedProjectionMathExpression, right: ComputedProjectionMathExpression) => ComputedProjectionMathExpression;
403
+ };
404
+ length: () => ComputedProjectionExpression<number>;
405
+ count: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression<number>;
406
+ any: (operation?: ComputedProjectionOperation) => ComputedProjectionExpression<boolean>;
407
+ every: (operation: ComputedProjectionOperation) => ComputedProjectionExpression<boolean>;
408
+ distinctCount: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(field: F, operation?: ComputedProjectionOperation) => ComputedProjectionExpression<number>;
409
+ sum: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(field: F, operation?: ComputedProjectionOperation) => ComputedProjectionExpression<number>;
410
+ sumExpr: (expression: ComputedProjectionMathExpression, operation?: ComputedProjectionOperation) => ComputedProjectionExpression<number>;
411
+ sumExprBy: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(expression: ComputedProjectionMathExpression, options: {
412
+ unit: F;
413
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression<ReadonlyArray<{
414
+ readonly unit: FieldPathValue<RelationElement<TFieldValues, P>, F>;
415
+ readonly total: number;
416
+ }>>;
417
+ sumExprNormalized: (expression: ComputedProjectionMathExpression, options: {
418
+ unit: FieldPath<RelationElement<TFieldValues, P>>;
419
+ toBase: string;
420
+ factors: Readonly<Record<string, number>>;
421
+ }, operation?: ComputedProjectionOperation) => ComputedProjectionExpression<number>;
422
+ collect: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(field: F, operation?: ComputedProjectionOperation) => ComputedProjectionExpression<ReadonlyArray<FieldPathValue<RelationElement<TFieldValues, P>, F>>>;
423
+ collectDistinct: <const F extends FieldPath<RelationElement<TFieldValues, P>>>(field: F, operation?: ComputedProjectionOperation) => ComputedProjectionExpression<ReadonlyArray<FieldPathValue<RelationElement<TFieldValues, P>, F>>>;
424
+ collectFields: <const F extends readonly FieldPath<RelationElement<TFieldValues, P>>[]>(fields: F, operation?: ComputedProjectionOperation) => ComputedProjectionExpression<ReadonlyArray<FieldPathValue<RelationElement<TFieldValues, P>, F[number]>>>;
425
+ collectDistinctFields: <const F extends readonly FieldPath<RelationElement<TFieldValues, P>>[]>(fields: F, operation?: ComputedProjectionOperation) => ComputedProjectionExpression<ReadonlyArray<FieldPathValue<RelationElement<TFieldValues, P>, F[number]>>>;
426
+ };
427
+ /**
428
+ * Untyped math-expression builder. Field paths are not statically validated —
429
+ * prefer the scope-bound `relation(path).expr` builder when the element type
430
+ * is known, since it constrains the field argument to `FieldPath<E>`.
431
+ *
432
+ * The generic parameter is accepted for symmetry with the scoped builder so
433
+ * callers may opt into a tighter check via `expr.field<E>("x")`.
434
+ */
435
+ export declare const expr: {
436
+ readonly field: <T extends FieldValues = FieldValues>(field: FieldPath<T>) => ComputedProjectionMathExpression;
437
+ readonly mul: (left: ComputedProjectionMathExpression, right: ComputedProjectionMathExpression) => ComputedProjectionMathExpression;
438
+ };
439
+ export declare const computed: <T extends ComputedProjectionMap>(value: T) => T;
440
+ /**
441
+ * Helpers passed to the inline-builder form of {@link projectComputed}. The
442
+ * `relation` factory is bound to the source row shape so paths/fields inside
443
+ * the projection are validated against the document shape inferred from the
444
+ * pipe.
445
+ */
446
+ export interface ComputedHelpers<TFieldValues extends FieldValues> {
447
+ relation: <const P extends FieldPath<TFieldValues>>(path: P) => ReturnType<typeof relation<TFieldValues, P>>;
448
+ }
449
+ /**
450
+ * Only treat computed-map keys as ExtraKeys when `M` is a concrete object type.
451
+ * `ComputedProjectionMap` is `Record<string, …>`, so `keyof M` is `string` and
452
+ * would otherwise allow every projection field as "computed".
453
+ */
454
+ type ConcreteComputedKeys<M> = string extends keyof M ? never : Extract<keyof M, PropertyKey>;
455
+ /**
456
+ * Proof that projection Encoded `I` is projectable from domain Encoded, allowing
457
+ * concrete computed keys. Intersected onto the computed-map argument so
458
+ * inference of `M` is complete before the check runs.
459
+ */
460
+ type ProjectableComputedMap<M extends ComputedProjectionMap, I extends FieldValues, Domain> = M & NoExtraComputedKeys<M, I> & ([
461
+ ProjectableGuard<I, Domain, ConcreteComputedKeys<M>>
462
+ ] extends [never] ? {
463
+ readonly __projectableFromDomain: "projection fields must exist on the matching domain tagged state or be computed keys";
464
+ } : unknown);
465
+ export declare const projectComputed: {
466
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, Schema extends S.Codec<any, FieldValues, any>, M extends ComputedProjectionMap, I extends FieldValues = S.Codec.Encoded<Schema>, E extends boolean = ExtractExclusiveness<Q>>(schema: Schema, build: (helpers: ComputedHelpers<ExtractFieldValues<Q>>) => ProjectableComputedMap<M, I, ExtractFieldValues<Q>>, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, S.Schema.Type<Schema> extends Option.Option<infer A> ? A : never, never, ExtractTType<Q>, E>;
467
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, Schema extends S.Codec<any, FieldValues, any>, M extends ComputedProjectionMap, I extends FieldValues = S.Codec.Encoded<Schema>, E extends boolean = ExtractExclusiveness<Q>>(schema: Schema, build: (helpers: ComputedHelpers<ExtractFieldValues<Q>>) => ProjectableComputedMap<M, I, ExtractFieldValues<Q>>, mode?: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, S.Schema.Type<Schema>, never, ExtractTType<Q>, E>;
468
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, Schema extends S.Codec<any, FieldValues, any>, M extends ComputedProjectionMap, I extends FieldValues = S.Codec.Encoded<Schema>, E extends boolean = ExtractExclusiveness<Q>>(schema: Schema, computedProjection: ProjectableComputedMap<M, I, ExtractFieldValues<Q>>, mode: "collect"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, S.Schema.Type<Schema> extends Option.Option<infer A> ? A : never, never, ExtractTType<Q>, E>;
469
+ <Q extends Query<any> | QueryWhere<any, any, any> | QueryEnd<any, "one" | "many", any>, Schema extends S.Codec<any, FieldValues, any>, M extends ComputedProjectionMap, I extends FieldValues = S.Codec.Encoded<Schema>, E extends boolean = ExtractExclusiveness<Q>>(schema: Schema, computedProjection: ProjectableComputedMap<M, I, ExtractFieldValues<Q>>, mode?: "project"): (current: Q) => QueryProjection<ExtractFieldValuesRefined<Q>, S.Schema.Type<Schema>, never, ExtractTType<Q>, E>;
470
+ };
471
+ /**
472
+ * Builder shape returned by {@link agg}. Field-taking methods are constrained
473
+ * to `FieldPath<TFieldValues>` so paths are validated against the document
474
+ * shape.
475
+ */
476
+ export interface AggBuilder<TFieldValues extends FieldValues> {
477
+ field: (path: FieldPath<TFieldValues>) => AggregateExpression;
478
+ count: () => AggregateExpression;
479
+ countWhen: (operation: ComputedProjectionOperation) => AggregateExpression;
480
+ sum: (field: FieldPath<TFieldValues>) => AggregateExpression;
481
+ min: (field: FieldPath<TFieldValues>) => AggregateExpression;
482
+ max: (field: FieldPath<TFieldValues>) => AggregateExpression;
483
+ }
484
+ /**
485
+ * Scope-bound aggregate-expression builder factory. Invoke with the source
486
+ * document field-value shape to get a builder whose `field`/`sum`/`min`/`max`
487
+ * arguments are constrained to `FieldPath<TFieldValues>`.
488
+ *
489
+ * Prefer the inline callback form of {@link aggregate} (`aggregate(schema,
490
+ * ($) => ({...}))`) — there the source shape is inferred from the pipe so no
491
+ * explicit type argument is needed. This factory is the escape hatch when
492
+ * the builder is constructed outside the pipe.
493
+ */
494
+ export declare const agg: <TFieldValues extends FieldValues = FieldValues>() => AggBuilder<TFieldValues>;
495
+ /**
496
+ * Attach an aggregate projection to a query, performing GROUP BY + aggregate functions at the
497
+ * database level instead of fetching all rows and grouping in memory.
498
+ *
499
+ * Pass a builder callback to get a typed `agg` bound to the source row shape
500
+ * (inferred from the pipe — no explicit generic needed):
501
+ *
502
+ * @example
503
+ * ```ts
504
+ * repo.query(
505
+ * where("status", "active"),
506
+ * aggregate(
507
+ * S.Struct({ city: S.String, count: S.Number }),
508
+ * ($) => ({
509
+ * city: $.field("address.city"),
510
+ * count: $.countWhen((q) => q.pipe(where("active", true)))
511
+ * })
512
+ * )
513
+ * )
514
+ * ```
515
+ *
516
+ * A plain {@link AggregateMap} is also accepted for the rare case where the
517
+ * map is built outside the pipe (loses path inference).
518
+ *
519
+ * The output is decoded directly with `schema` (no PM reverse-mapping, no etag tracking).
520
+ * Decode failures surface as `S.SchemaError`.
521
+ */
522
+ export declare const aggregate: {
523
+ <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>;
524
+ <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>;
525
+ };
526
+ type GetArV<T> = T extends ReadonlySet<infer R> ? R : T extends readonly (infer R)[] ? R : never;
527
+ type GetMapK<T> = T extends ReadonlyMap<infer K, infer _V> ? K : never;
528
+ type GetMapV<T> = T extends ReadonlyMap<infer _K, infer V> ? V : never;
529
+ type GetMapEntry<T> = T extends ReadonlyMap<infer K, infer V> ? readonly [K, V] : never;
530
+ type InValues<T> = readonly T[] | ReadonlySet<T>;
531
+ export type FilterContinuations<IsCurrentInitial extends boolean = false> = {
532
+ <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>;
533
+ <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>;
534
+ <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>;
535
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "in" | "notIn", value: InValues<FieldPathValue<TFieldValues, TFieldName>>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
536
+ <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>;
537
+ <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: InValues<GetArV<V>>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
538
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "hasKey" | "notHasKey", value: GetMapK<V>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
539
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "hasValue" | "notHasValue", value: GetMapV<V>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
540
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "hasKeyValue" | "notHasKeyValue", value: GetMapEntry<V>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
541
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "hasKey-any" | "notHasKey-any" | "hasKey-all" | "notHasKey-all", value: InValues<GetMapK<V>>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
542
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "hasValue-any" | "notHasValue-any" | "hasValue-all" | "notHasValue-all", value: InValues<GetMapV<V>>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
543
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(path: TFieldName, op: "hasKeyValue-any" | "notHasKeyValue-any" | "hasKeyValue-all" | "notHasKeyValue-all", value: InValues<GetMapEntry<V>>): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
544
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V extends FieldPathValue<TFieldValues, TFieldName>, TFieldValuesRefined extends TFieldValues = TFieldValues, E extends boolean = false>(f: {
545
+ path: TFieldName;
546
+ op: "eq";
547
+ value: V;
548
+ }): (current: IsCurrentInitial extends true ? Query<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>) => IsCurrentInitial extends true ? QueryWhere<TFieldValues> : QueryWhere<TFieldValues, TFieldValuesRefined, E>;
549
+ };
550
+ export type FilterContinuationsWithSubpath = {
551
+ <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>;
552
+ <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>;
553
+ <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>;
554
+ <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: "in" | "notIn", value: InValues<V>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
555
+ <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>;
556
+ <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: InValues<GetArV<V>>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
557
+ <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: "hasKey" | "notHasKey", value: GetMapK<V>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
558
+ <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: "hasValue" | "notHasValue", value: GetMapV<V>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
559
+ <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: "hasKeyValue" | "notHasKeyValue", value: GetMapEntry<V>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
560
+ <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: "hasKey-any" | "notHasKey-any" | "hasKey-all" | "notHasKey-all", value: InValues<GetMapK<V>>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
561
+ <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: "hasValue-any" | "notHasValue-any" | "hasValue-all" | "notHasValue-all", value: InValues<GetMapV<V>>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
562
+ <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: "hasKeyValue-any" | "notHasKeyValue-any" | "hasKeyValue-all" | "notHasKeyValue-all", value: InValues<GetMapEntry<V>>): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
563
+ <TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, TFieldValuesSub extends TFieldValues[TFieldName][number], TFieldNameSub extends FieldPath<TFieldValuesSub>, V extends FieldPathValue<TFieldValuesSub, TFieldNameSub>>(f: {
564
+ subPath: TFieldName;
565
+ restPath: TFieldNameSub;
566
+ op: "eq";
567
+ value: V;
568
+ }): (current: Query<TFieldValues>) => QueryWhere<TFieldValues>;
569
+ };
570
+ export type RefineWithLiteral<TFieldValues extends FieldValues, TFieldName extends FieldPath<TFieldValues>, V, Exclde extends boolean = false> = [
571
+ V
572
+ ] extends [string | number | boolean | null | bigint] ? RefineFieldPathValue<TFieldValues, TFieldName, V, Exclde> : TFieldValues;
573
+ export type FilteringRefinements<IsCurrentInitial extends boolean = false> = {
574
+ <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>;
575
+ <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>;
576
+ <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>;
577
+ };
578
+ export type NestedQueriesFixedRefinement<IsCurrentInitial extends boolean = false> = {
579
+ <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>;
580
+ <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>;
581
+ <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>;
582
+ <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>;
583
+ <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>;
584
+ <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>;
585
+ <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>;
586
+ <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>;
587
+ <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>;
588
+ <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>;
589
+ <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>;
590
+ <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>;
591
+ <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>;
592
+ };
593
+ export type NestedQueriesFreeIntersectionRefinement = {
594
+ <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>;
595
+ <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>;
596
+ <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>;
597
+ <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>;
598
+ <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>;
599
+ <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>;
600
+ <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>;
601
+ <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>;
602
+ <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>;
603
+ <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>;
604
+ <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>;
605
+ <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>;
606
+ <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>;
607
+ };
608
+ export type NestedQueriesFreeDisjointRefinement = {
609
+ <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>;
610
+ <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>;
611
+ <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>;
612
+ <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>;
613
+ <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>;
614
+ <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>;
615
+ <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>;
616
+ <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>;
617
+ <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>;
618
+ <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>;
619
+ <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>;
620
+ <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>;
621
+ <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>;
622
+ };
623
+ export type FilterWhere = NestedQueriesFixedRefinement<true> & FilteringRefinements<true> & FilterContinuations<true>;
624
+ export type FilterContinuationAnd = NestedQueriesFreeIntersectionRefinement & FilteringRefinements & FilterContinuations;
625
+ export type FilterContinuationOr = NestedQueriesFreeDisjointRefinement & FilterContinuations;
626
+ export type WhereEveryOrSome = {
627
+ <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>;
628
+ } & FilterContinuationsWithSubpath;
629
+ export {};
630
+ //# sourceMappingURL=dsl.d.ts.map