@buildonspark/spark-sdk 0.0.0

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 (314) hide show
  1. package/dist/graphql/client.d.ts +24 -0
  2. package/dist/graphql/client.js +177 -0
  3. package/dist/graphql/client.js.map +1 -0
  4. package/dist/graphql/mutations/CompleteCoopExit.d.ts +1 -0
  5. package/dist/graphql/mutations/CompleteCoopExit.js +19 -0
  6. package/dist/graphql/mutations/CompleteCoopExit.js.map +1 -0
  7. package/dist/graphql/mutations/CompleteLeavesSwap.d.ts +1 -0
  8. package/dist/graphql/mutations/CompleteLeavesSwap.js +17 -0
  9. package/dist/graphql/mutations/CompleteLeavesSwap.js.map +1 -0
  10. package/dist/graphql/mutations/RequestCoopExit.d.ts +1 -0
  11. package/dist/graphql/mutations/RequestCoopExit.js +20 -0
  12. package/dist/graphql/mutations/RequestCoopExit.js.map +1 -0
  13. package/dist/graphql/mutations/RequestLightningReceive.d.ts +1 -0
  14. package/dist/graphql/mutations/RequestLightningReceive.js +26 -0
  15. package/dist/graphql/mutations/RequestLightningReceive.js.map +1 -0
  16. package/dist/graphql/mutations/RequestLightningSend.d.ts +1 -0
  17. package/dist/graphql/mutations/RequestLightningSend.js +18 -0
  18. package/dist/graphql/mutations/RequestLightningSend.js.map +1 -0
  19. package/dist/graphql/mutations/RequestSwapLeaves.d.ts +1 -0
  20. package/dist/graphql/mutations/RequestSwapLeaves.js +26 -0
  21. package/dist/graphql/mutations/RequestSwapLeaves.js.map +1 -0
  22. package/dist/graphql/objects/BitcoinNetwork.d.ts +17 -0
  23. package/dist/graphql/objects/BitcoinNetwork.js +20 -0
  24. package/dist/graphql/objects/BitcoinNetwork.js.map +1 -0
  25. package/dist/graphql/objects/CompleteCoopExitInput.d.ts +7 -0
  26. package/dist/graphql/objects/CompleteCoopExitInput.js +14 -0
  27. package/dist/graphql/objects/CompleteCoopExitInput.js.map +1 -0
  28. package/dist/graphql/objects/CompleteCoopExitOutput.d.ts +7 -0
  29. package/dist/graphql/objects/CompleteCoopExitOutput.js +19 -0
  30. package/dist/graphql/objects/CompleteCoopExitOutput.js.map +1 -0
  31. package/dist/graphql/objects/CompleteLeavesSwapInput.d.ts +8 -0
  32. package/dist/graphql/objects/CompleteLeavesSwapInput.js +16 -0
  33. package/dist/graphql/objects/CompleteLeavesSwapInput.js.map +1 -0
  34. package/dist/graphql/objects/CompleteLeavesSwapOutput.d.ts +7 -0
  35. package/dist/graphql/objects/CompleteLeavesSwapOutput.js +19 -0
  36. package/dist/graphql/objects/CompleteLeavesSwapOutput.js.map +1 -0
  37. package/dist/graphql/objects/Connection.d.ts +16 -0
  38. package/dist/graphql/objects/Connection.js +56 -0
  39. package/dist/graphql/objects/Connection.js.map +1 -0
  40. package/dist/graphql/objects/CoopExitFeeEstimateInput.d.ts +7 -0
  41. package/dist/graphql/objects/CoopExitFeeEstimateInput.js +14 -0
  42. package/dist/graphql/objects/CoopExitFeeEstimateInput.js.map +1 -0
  43. package/dist/graphql/objects/CoopExitFeeEstimateOutput.d.ts +8 -0
  44. package/dist/graphql/objects/CoopExitFeeEstimateOutput.js +26 -0
  45. package/dist/graphql/objects/CoopExitFeeEstimateOutput.js.map +1 -0
  46. package/dist/graphql/objects/CoopExitRequest.d.ts +32 -0
  47. package/dist/graphql/objects/CoopExitRequest.js +64 -0
  48. package/dist/graphql/objects/CoopExitRequest.js.map +1 -0
  49. package/dist/graphql/objects/CurrencyAmount.d.ts +24 -0
  50. package/dist/graphql/objects/CurrencyAmount.js +30 -0
  51. package/dist/graphql/objects/CurrencyAmount.js.map +1 -0
  52. package/dist/graphql/objects/CurrencyUnit.d.ts +27 -0
  53. package/dist/graphql/objects/CurrencyUnit.js +30 -0
  54. package/dist/graphql/objects/CurrencyUnit.js.map +1 -0
  55. package/dist/graphql/objects/Entity.d.ts +16 -0
  56. package/dist/graphql/objects/Entity.js +141 -0
  57. package/dist/graphql/objects/Entity.js.map +1 -0
  58. package/dist/graphql/objects/Invoice.d.ts +15 -0
  59. package/dist/graphql/objects/Invoice.js +45 -0
  60. package/dist/graphql/objects/Invoice.js.map +1 -0
  61. package/dist/graphql/objects/Leaf.d.ts +11 -0
  62. package/dist/graphql/objects/Leaf.js +29 -0
  63. package/dist/graphql/objects/Leaf.js.map +1 -0
  64. package/dist/graphql/objects/LeavesSwapFeeEstimateInput.d.ts +6 -0
  65. package/dist/graphql/objects/LeavesSwapFeeEstimateInput.js +12 -0
  66. package/dist/graphql/objects/LeavesSwapFeeEstimateInput.js.map +1 -0
  67. package/dist/graphql/objects/LeavesSwapFeeEstimateOutput.d.ts +8 -0
  68. package/dist/graphql/objects/LeavesSwapFeeEstimateOutput.js +26 -0
  69. package/dist/graphql/objects/LeavesSwapFeeEstimateOutput.js.map +1 -0
  70. package/dist/graphql/objects/LeavesSwapRequest.d.ts +32 -0
  71. package/dist/graphql/objects/LeavesSwapRequest.js +87 -0
  72. package/dist/graphql/objects/LeavesSwapRequest.js.map +1 -0
  73. package/dist/graphql/objects/LightningReceiveFeeEstimateInput.d.ts +8 -0
  74. package/dist/graphql/objects/LightningReceiveFeeEstimateInput.js +15 -0
  75. package/dist/graphql/objects/LightningReceiveFeeEstimateInput.js.map +1 -0
  76. package/dist/graphql/objects/LightningReceiveFeeEstimateOutput.d.ts +8 -0
  77. package/dist/graphql/objects/LightningReceiveFeeEstimateOutput.js +26 -0
  78. package/dist/graphql/objects/LightningReceiveFeeEstimateOutput.js.map +1 -0
  79. package/dist/graphql/objects/LightningReceiveRequest.d.ts +31 -0
  80. package/dist/graphql/objects/LightningReceiveRequest.js +93 -0
  81. package/dist/graphql/objects/LightningReceiveRequest.js.map +1 -0
  82. package/dist/graphql/objects/LightningReceiveRequestStatus.d.ts +16 -0
  83. package/dist/graphql/objects/LightningReceiveRequestStatus.js +19 -0
  84. package/dist/graphql/objects/LightningReceiveRequestStatus.js.map +1 -0
  85. package/dist/graphql/objects/LightningSendFeeEstimateInput.d.ts +6 -0
  86. package/dist/graphql/objects/LightningSendFeeEstimateInput.js +12 -0
  87. package/dist/graphql/objects/LightningSendFeeEstimateInput.js.map +1 -0
  88. package/dist/graphql/objects/LightningSendFeeEstimateOutput.d.ts +8 -0
  89. package/dist/graphql/objects/LightningSendFeeEstimateOutput.js +26 -0
  90. package/dist/graphql/objects/LightningSendFeeEstimateOutput.js.map +1 -0
  91. package/dist/graphql/objects/LightningSendRequest.d.ts +32 -0
  92. package/dist/graphql/objects/LightningSendRequest.js +78 -0
  93. package/dist/graphql/objects/LightningSendRequest.js.map +1 -0
  94. package/dist/graphql/objects/LightningSendRequestStatus.d.ts +15 -0
  95. package/dist/graphql/objects/LightningSendRequestStatus.js +18 -0
  96. package/dist/graphql/objects/LightningSendRequestStatus.js.map +1 -0
  97. package/dist/graphql/objects/PageInfo.d.ts +11 -0
  98. package/dist/graphql/objects/PageInfo.js +26 -0
  99. package/dist/graphql/objects/PageInfo.js.map +1 -0
  100. package/dist/graphql/objects/RequestCoopExitInput.d.ts +7 -0
  101. package/dist/graphql/objects/RequestCoopExitInput.js +14 -0
  102. package/dist/graphql/objects/RequestCoopExitInput.js.map +1 -0
  103. package/dist/graphql/objects/RequestCoopExitOutput.d.ts +7 -0
  104. package/dist/graphql/objects/RequestCoopExitOutput.js +19 -0
  105. package/dist/graphql/objects/RequestCoopExitOutput.js.map +1 -0
  106. package/dist/graphql/objects/RequestLeavesSwapInput.d.ts +13 -0
  107. package/dist/graphql/objects/RequestLeavesSwapInput.js +25 -0
  108. package/dist/graphql/objects/RequestLeavesSwapInput.js.map +1 -0
  109. package/dist/graphql/objects/RequestLeavesSwapOutput.d.ts +7 -0
  110. package/dist/graphql/objects/RequestLeavesSwapOutput.js +19 -0
  111. package/dist/graphql/objects/RequestLeavesSwapOutput.js.map +1 -0
  112. package/dist/graphql/objects/RequestLightningReceiveInput.d.ts +16 -0
  113. package/dist/graphql/objects/RequestLightningReceiveInput.js +21 -0
  114. package/dist/graphql/objects/RequestLightningReceiveInput.js.map +1 -0
  115. package/dist/graphql/objects/RequestLightningReceiveOutput.d.ts +7 -0
  116. package/dist/graphql/objects/RequestLightningReceiveOutput.js +19 -0
  117. package/dist/graphql/objects/RequestLightningReceiveOutput.js.map +1 -0
  118. package/dist/graphql/objects/RequestLightningSendInput.d.ts +7 -0
  119. package/dist/graphql/objects/RequestLightningSendInput.js +14 -0
  120. package/dist/graphql/objects/RequestLightningSendInput.js.map +1 -0
  121. package/dist/graphql/objects/RequestLightningSendOutput.d.ts +7 -0
  122. package/dist/graphql/objects/RequestLightningSendOutput.js +19 -0
  123. package/dist/graphql/objects/RequestLightningSendOutput.js.map +1 -0
  124. package/dist/graphql/objects/SparkCoopExitRequestStatus.d.ts +11 -0
  125. package/dist/graphql/objects/SparkCoopExitRequestStatus.js +14 -0
  126. package/dist/graphql/objects/SparkCoopExitRequestStatus.js.map +1 -0
  127. package/dist/graphql/objects/SparkLeavesSwapRequestStatus.d.ts +11 -0
  128. package/dist/graphql/objects/SparkLeavesSwapRequestStatus.js +14 -0
  129. package/dist/graphql/objects/SparkLeavesSwapRequestStatus.js.map +1 -0
  130. package/dist/graphql/objects/SparkTransferToLeavesConnection.d.ts +19 -0
  131. package/dist/graphql/objects/SparkTransferToLeavesConnection.js +45 -0
  132. package/dist/graphql/objects/SparkTransferToLeavesConnection.js.map +1 -0
  133. package/dist/graphql/objects/SwapLeaf.d.ts +9 -0
  134. package/dist/graphql/objects/SwapLeaf.js +23 -0
  135. package/dist/graphql/objects/SwapLeaf.js.map +1 -0
  136. package/dist/graphql/objects/Transfer.d.ts +24 -0
  137. package/dist/graphql/objects/Transfer.js +82 -0
  138. package/dist/graphql/objects/Transfer.js.map +1 -0
  139. package/dist/graphql/objects/UserLeafInput.d.ts +8 -0
  140. package/dist/graphql/objects/UserLeafInput.js +16 -0
  141. package/dist/graphql/objects/UserLeafInput.js.map +1 -0
  142. package/dist/graphql/objects/WalletUser.d.ts +21 -0
  143. package/dist/graphql/objects/WalletUser.js +48 -0
  144. package/dist/graphql/objects/WalletUser.js.map +1 -0
  145. package/dist/graphql/objects/index.d.ts +41 -0
  146. package/dist/graphql/objects/index.js +13 -0
  147. package/dist/graphql/objects/index.js.map +1 -0
  148. package/dist/graphql/queries/CoopExitFeeEstimate.d.ts +1 -0
  149. package/dist/graphql/queries/CoopExitFeeEstimate.js +18 -0
  150. package/dist/graphql/queries/CoopExitFeeEstimate.js.map +1 -0
  151. package/dist/graphql/queries/CurrentUser.d.ts +1 -0
  152. package/dist/graphql/queries/CurrentUser.js +10 -0
  153. package/dist/graphql/queries/CurrentUser.js.map +1 -0
  154. package/dist/graphql/queries/LightningReceiveFeeEstimate.d.ts +1 -0
  155. package/dist/graphql/queries/LightningReceiveFeeEstimate.js +18 -0
  156. package/dist/graphql/queries/LightningReceiveFeeEstimate.js.map +1 -0
  157. package/dist/graphql/queries/LightningSendFeeEstimate.d.ts +1 -0
  158. package/dist/graphql/queries/LightningSendFeeEstimate.js +16 -0
  159. package/dist/graphql/queries/LightningSendFeeEstimate.js.map +1 -0
  160. package/dist/proto/common.d.ts +58 -0
  161. package/dist/proto/common.js +350 -0
  162. package/dist/proto/common.js.map +1 -0
  163. package/dist/proto/google/protobuf/descriptor.d.ts +1228 -0
  164. package/dist/proto/google/protobuf/descriptor.js +5070 -0
  165. package/dist/proto/google/protobuf/descriptor.js.map +1 -0
  166. package/dist/proto/google/protobuf/duration.d.ts +99 -0
  167. package/dist/proto/google/protobuf/duration.js +90 -0
  168. package/dist/proto/google/protobuf/duration.js.map +1 -0
  169. package/dist/proto/google/protobuf/empty.d.ts +33 -0
  170. package/dist/proto/google/protobuf/empty.js +46 -0
  171. package/dist/proto/google/protobuf/empty.js.map +1 -0
  172. package/dist/proto/google/protobuf/timestamp.d.ts +128 -0
  173. package/dist/proto/google/protobuf/timestamp.js +90 -0
  174. package/dist/proto/google/protobuf/timestamp.js.map +1 -0
  175. package/dist/proto/mock.d.ts +48 -0
  176. package/dist/proto/mock.js +103 -0
  177. package/dist/proto/mock.js.map +1 -0
  178. package/dist/proto/spark.d.ts +1101 -0
  179. package/dist/proto/spark.js +9565 -0
  180. package/dist/proto/spark.js.map +1 -0
  181. package/dist/proto/spark_authn.d.ts +111 -0
  182. package/dist/proto/spark_authn.js +517 -0
  183. package/dist/proto/spark_authn.js.map +1 -0
  184. package/dist/proto/validate/validate.d.ts +1087 -0
  185. package/dist/proto/validate/validate.js +4437 -0
  186. package/dist/proto/validate/validate.js.map +1 -0
  187. package/dist/services/config.d.ts +24 -0
  188. package/dist/services/config.js +29 -0
  189. package/dist/services/config.js.map +1 -0
  190. package/dist/services/connection.d.ts +21 -0
  191. package/dist/services/connection.js +154 -0
  192. package/dist/services/connection.js.map +1 -0
  193. package/dist/services/coop-exit.d.ts +20 -0
  194. package/dist/services/coop-exit.js +102 -0
  195. package/dist/services/coop-exit.js.map +1 -0
  196. package/dist/services/deposit.d.ts +21 -0
  197. package/dist/services/deposit.js +214 -0
  198. package/dist/services/deposit.js.map +1 -0
  199. package/dist/services/lightning.d.ts +31 -0
  200. package/dist/services/lightning.js +196 -0
  201. package/dist/services/lightning.js.map +1 -0
  202. package/dist/services/token-transactions.d.ts +17 -0
  203. package/dist/services/token-transactions.js +297 -0
  204. package/dist/services/token-transactions.js.map +1 -0
  205. package/dist/services/transfer.d.ts +63 -0
  206. package/dist/services/transfer.js +499 -0
  207. package/dist/services/transfer.js.map +1 -0
  208. package/dist/services/tree-creation.d.ts +30 -0
  209. package/dist/services/tree-creation.js +404 -0
  210. package/dist/services/tree-creation.js.map +1 -0
  211. package/dist/signer/signer.d.ts +97 -0
  212. package/dist/signer/signer.js +239 -0
  213. package/dist/signer/signer.js.map +1 -0
  214. package/dist/spark-sdk.d.ts +87 -0
  215. package/dist/spark-sdk.js +675 -0
  216. package/dist/spark-sdk.js.map +1 -0
  217. package/dist/tests/adaptor-signature.test.d.ts +1 -0
  218. package/dist/tests/adaptor-signature.test.js +34 -0
  219. package/dist/tests/adaptor-signature.test.js.map +1 -0
  220. package/dist/tests/bitcoin.test.d.ts +1 -0
  221. package/dist/tests/bitcoin.test.js +77 -0
  222. package/dist/tests/bitcoin.test.js.map +1 -0
  223. package/dist/tests/coop-exit.test.d.ts +1 -0
  224. package/dist/tests/coop-exit.test.js +140 -0
  225. package/dist/tests/coop-exit.test.js.map +1 -0
  226. package/dist/tests/deposit.test.d.ts +1 -0
  227. package/dist/tests/deposit.test.js +57 -0
  228. package/dist/tests/deposit.test.js.map +1 -0
  229. package/dist/tests/keys.test.d.ts +1 -0
  230. package/dist/tests/keys.test.js +53 -0
  231. package/dist/tests/keys.test.js.map +1 -0
  232. package/dist/tests/lightning.test.d.ts +1 -0
  233. package/dist/tests/lightning.test.js +175 -0
  234. package/dist/tests/lightning.test.js.map +1 -0
  235. package/dist/tests/secret-sharing.test.d.ts +1 -0
  236. package/dist/tests/secret-sharing.test.js +41 -0
  237. package/dist/tests/secret-sharing.test.js.map +1 -0
  238. package/dist/tests/swap.test.d.ts +1 -0
  239. package/dist/tests/swap.test.js +131 -0
  240. package/dist/tests/swap.test.js.map +1 -0
  241. package/dist/tests/test-util.d.ts +24 -0
  242. package/dist/tests/test-util.js +137 -0
  243. package/dist/tests/test-util.js.map +1 -0
  244. package/dist/tests/tokens.test.d.ts +1 -0
  245. package/dist/tests/tokens.test.js +42 -0
  246. package/dist/tests/tokens.test.js.map +1 -0
  247. package/dist/tests/transfer.test.d.ts +1 -0
  248. package/dist/tests/transfer.test.js +175 -0
  249. package/dist/tests/transfer.test.js.map +1 -0
  250. package/dist/tests/tree-creation.test.d.ts +1 -0
  251. package/dist/tests/tree-creation.test.js +32 -0
  252. package/dist/tests/tree-creation.test.js.map +1 -0
  253. package/dist/tests/utils/spark-testing-wallet.d.ts +14 -0
  254. package/dist/tests/utils/spark-testing-wallet.js +13 -0
  255. package/dist/tests/utils/spark-testing-wallet.js.map +1 -0
  256. package/dist/tests/utils/test-faucet.d.ts +22 -0
  257. package/dist/tests/utils/test-faucet.js +148 -0
  258. package/dist/tests/utils/test-faucet.js.map +1 -0
  259. package/dist/types/index.d.ts +3 -0
  260. package/dist/types/index.js +4 -0
  261. package/dist/types/index.js.map +1 -0
  262. package/dist/utils/adaptor-signature.d.ts +7 -0
  263. package/dist/utils/adaptor-signature.js +114 -0
  264. package/dist/utils/adaptor-signature.js.map +1 -0
  265. package/dist/utils/bitcoin.d.ts +12 -0
  266. package/dist/utils/bitcoin.js +87 -0
  267. package/dist/utils/bitcoin.js.map +1 -0
  268. package/dist/utils/crypto.d.ts +1 -0
  269. package/dist/utils/crypto.js +14 -0
  270. package/dist/utils/crypto.js.map +1 -0
  271. package/dist/utils/index.d.ts +14 -0
  272. package/dist/utils/index.js +15 -0
  273. package/dist/utils/index.js.map +1 -0
  274. package/dist/utils/keys.d.ts +7 -0
  275. package/dist/utils/keys.js +68 -0
  276. package/dist/utils/keys.js.map +1 -0
  277. package/dist/utils/network.d.ts +11 -0
  278. package/dist/utils/network.js +26 -0
  279. package/dist/utils/network.js.map +1 -0
  280. package/dist/utils/proof.d.ts +1 -0
  281. package/dist/utils/proof.js +12 -0
  282. package/dist/utils/proof.js.map +1 -0
  283. package/dist/utils/response-validation.d.ts +1 -0
  284. package/dist/utils/response-validation.js +16 -0
  285. package/dist/utils/response-validation.js.map +1 -0
  286. package/dist/utils/secret-sharing.d.ts +26 -0
  287. package/dist/utils/secret-sharing.js +175 -0
  288. package/dist/utils/secret-sharing.js.map +1 -0
  289. package/dist/utils/signing.d.ts +12 -0
  290. package/dist/utils/signing.js +67 -0
  291. package/dist/utils/signing.js.map +1 -0
  292. package/dist/utils/token-hashing.d.ts +3 -0
  293. package/dist/utils/token-hashing.js +117 -0
  294. package/dist/utils/token-hashing.js.map +1 -0
  295. package/dist/utils/token-keyshares.d.ts +5 -0
  296. package/dist/utils/token-keyshares.js +17 -0
  297. package/dist/utils/token-keyshares.js.map +1 -0
  298. package/dist/utils/token-transactions.d.ts +5 -0
  299. package/dist/utils/token-transactions.js +40 -0
  300. package/dist/utils/token-transactions.js.map +1 -0
  301. package/dist/utils/transaction.d.ts +8 -0
  302. package/dist/utils/transaction.js +33 -0
  303. package/dist/utils/transaction.js.map +1 -0
  304. package/dist/utils/wasm-wrapper.d.ts +2 -0
  305. package/dist/utils/wasm-wrapper.js +36 -0
  306. package/dist/utils/wasm-wrapper.js.map +1 -0
  307. package/dist/utils/wasm.d.ts +54 -0
  308. package/dist/utils/wasm.js +26 -0
  309. package/dist/utils/wasm.js.map +1 -0
  310. package/dist/wasm/spark_bindings.d.ts +229 -0
  311. package/dist/wasm/spark_bindings.js +1097 -0
  312. package/dist/wasm/spark_bindings.js.map +1 -0
  313. package/dist/wasm/spark_bindings_bg.wasm +0 -0
  314. package/package.json +140 -0
@@ -0,0 +1,1087 @@
1
+ import { BinaryReader, BinaryWriter } from "@bufbuild/protobuf/wire";
2
+ import { Duration } from "../google/protobuf/duration.js";
3
+ export declare const protobufPackage = "validate";
4
+ /** WellKnownRegex contain some well-known patterns. */
5
+ export declare enum KnownRegex {
6
+ UNKNOWN = 0,
7
+ /** HTTP_HEADER_NAME - HTTP header name as defined by RFC 7230. */
8
+ HTTP_HEADER_NAME = 1,
9
+ /** HTTP_HEADER_VALUE - HTTP header value as defined by RFC 7230. */
10
+ HTTP_HEADER_VALUE = 2,
11
+ UNRECOGNIZED = -1
12
+ }
13
+ export declare function knownRegexFromJSON(object: any): KnownRegex;
14
+ export declare function knownRegexToJSON(object: KnownRegex): string;
15
+ /**
16
+ * FieldRules encapsulates the rules for each type of field. Depending on the
17
+ * field, the correct set should be used to ensure proper validations.
18
+ */
19
+ export interface FieldRules {
20
+ message?: MessageRules | undefined;
21
+ type?: //
22
+ /** Scalar Field Types */
23
+ {
24
+ $case: "float";
25
+ float: FloatRules;
26
+ } | {
27
+ $case: "double";
28
+ double: DoubleRules;
29
+ } | {
30
+ $case: "int32";
31
+ int32: Int32Rules;
32
+ } | {
33
+ $case: "int64";
34
+ int64: Int64Rules;
35
+ } | {
36
+ $case: "uint32";
37
+ uint32: UInt32Rules;
38
+ } | {
39
+ $case: "uint64";
40
+ uint64: UInt64Rules;
41
+ } | {
42
+ $case: "sint32";
43
+ sint32: SInt32Rules;
44
+ } | {
45
+ $case: "sint64";
46
+ sint64: SInt64Rules;
47
+ } | {
48
+ $case: "fixed32";
49
+ fixed32: Fixed32Rules;
50
+ } | {
51
+ $case: "fixed64";
52
+ fixed64: Fixed64Rules;
53
+ } | {
54
+ $case: "sfixed32";
55
+ sfixed32: SFixed32Rules;
56
+ } | {
57
+ $case: "sfixed64";
58
+ sfixed64: SFixed64Rules;
59
+ } | {
60
+ $case: "bool";
61
+ bool: BoolRules;
62
+ } | {
63
+ $case: "string";
64
+ string: StringRules;
65
+ } | {
66
+ $case: "bytes";
67
+ bytes: BytesRules;
68
+ } | //
69
+ /** Complex Field Types */
70
+ {
71
+ $case: "enum";
72
+ enum: EnumRules;
73
+ } | {
74
+ $case: "repeated";
75
+ repeated: RepeatedRules;
76
+ } | {
77
+ $case: "map";
78
+ map: MapRules;
79
+ } | //
80
+ /** Well-Known Field Types */
81
+ {
82
+ $case: "any";
83
+ any: AnyRules;
84
+ } | {
85
+ $case: "duration";
86
+ duration: DurationRules;
87
+ } | {
88
+ $case: "timestamp";
89
+ timestamp: TimestampRules;
90
+ } | undefined;
91
+ }
92
+ /** FloatRules describes the constraints applied to `float` values */
93
+ export interface FloatRules {
94
+ /** Const specifies that this field must be exactly the specified value */
95
+ const?: number | undefined;
96
+ /**
97
+ * Lt specifies that this field must be less than the specified value,
98
+ * exclusive
99
+ */
100
+ lt?: number | undefined;
101
+ /**
102
+ * Lte specifies that this field must be less than or equal to the
103
+ * specified value, inclusive
104
+ */
105
+ lte?: number | undefined;
106
+ /**
107
+ * Gt specifies that this field must be greater than the specified value,
108
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
109
+ * range is reversed.
110
+ */
111
+ gt?: number | undefined;
112
+ /**
113
+ * Gte specifies that this field must be greater than or equal to the
114
+ * specified value, inclusive. If the value of Gte is larger than a
115
+ * specified Lt or Lte, the range is reversed.
116
+ */
117
+ gte?: number | undefined;
118
+ /**
119
+ * In specifies that this field must be equal to one of the specified
120
+ * values
121
+ */
122
+ in: number[];
123
+ /**
124
+ * NotIn specifies that this field cannot be equal to one of the specified
125
+ * values
126
+ */
127
+ notIn: number[];
128
+ /**
129
+ * IgnoreEmpty specifies that the validation rules of this field should be
130
+ * evaluated only if the field is not empty
131
+ */
132
+ ignoreEmpty?: boolean | undefined;
133
+ }
134
+ /** DoubleRules describes the constraints applied to `double` values */
135
+ export interface DoubleRules {
136
+ /** Const specifies that this field must be exactly the specified value */
137
+ const?: number | undefined;
138
+ /**
139
+ * Lt specifies that this field must be less than the specified value,
140
+ * exclusive
141
+ */
142
+ lt?: number | undefined;
143
+ /**
144
+ * Lte specifies that this field must be less than or equal to the
145
+ * specified value, inclusive
146
+ */
147
+ lte?: number | undefined;
148
+ /**
149
+ * Gt specifies that this field must be greater than the specified value,
150
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
151
+ * range is reversed.
152
+ */
153
+ gt?: number | undefined;
154
+ /**
155
+ * Gte specifies that this field must be greater than or equal to the
156
+ * specified value, inclusive. If the value of Gte is larger than a
157
+ * specified Lt or Lte, the range is reversed.
158
+ */
159
+ gte?: number | undefined;
160
+ /**
161
+ * In specifies that this field must be equal to one of the specified
162
+ * values
163
+ */
164
+ in: number[];
165
+ /**
166
+ * NotIn specifies that this field cannot be equal to one of the specified
167
+ * values
168
+ */
169
+ notIn: number[];
170
+ /**
171
+ * IgnoreEmpty specifies that the validation rules of this field should be
172
+ * evaluated only if the field is not empty
173
+ */
174
+ ignoreEmpty?: boolean | undefined;
175
+ }
176
+ /** Int32Rules describes the constraints applied to `int32` values */
177
+ export interface Int32Rules {
178
+ /** Const specifies that this field must be exactly the specified value */
179
+ const?: number | undefined;
180
+ /**
181
+ * Lt specifies that this field must be less than the specified value,
182
+ * exclusive
183
+ */
184
+ lt?: number | undefined;
185
+ /**
186
+ * Lte specifies that this field must be less than or equal to the
187
+ * specified value, inclusive
188
+ */
189
+ lte?: number | undefined;
190
+ /**
191
+ * Gt specifies that this field must be greater than the specified value,
192
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
193
+ * range is reversed.
194
+ */
195
+ gt?: number | undefined;
196
+ /**
197
+ * Gte specifies that this field must be greater than or equal to the
198
+ * specified value, inclusive. If the value of Gte is larger than a
199
+ * specified Lt or Lte, the range is reversed.
200
+ */
201
+ gte?: number | undefined;
202
+ /**
203
+ * In specifies that this field must be equal to one of the specified
204
+ * values
205
+ */
206
+ in: number[];
207
+ /**
208
+ * NotIn specifies that this field cannot be equal to one of the specified
209
+ * values
210
+ */
211
+ notIn: number[];
212
+ /**
213
+ * IgnoreEmpty specifies that the validation rules of this field should be
214
+ * evaluated only if the field is not empty
215
+ */
216
+ ignoreEmpty?: boolean | undefined;
217
+ }
218
+ /** Int64Rules describes the constraints applied to `int64` values */
219
+ export interface Int64Rules {
220
+ /** Const specifies that this field must be exactly the specified value */
221
+ const?: number | undefined;
222
+ /**
223
+ * Lt specifies that this field must be less than the specified value,
224
+ * exclusive
225
+ */
226
+ lt?: number | undefined;
227
+ /**
228
+ * Lte specifies that this field must be less than or equal to the
229
+ * specified value, inclusive
230
+ */
231
+ lte?: number | undefined;
232
+ /**
233
+ * Gt specifies that this field must be greater than the specified value,
234
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
235
+ * range is reversed.
236
+ */
237
+ gt?: number | undefined;
238
+ /**
239
+ * Gte specifies that this field must be greater than or equal to the
240
+ * specified value, inclusive. If the value of Gte is larger than a
241
+ * specified Lt or Lte, the range is reversed.
242
+ */
243
+ gte?: number | undefined;
244
+ /**
245
+ * In specifies that this field must be equal to one of the specified
246
+ * values
247
+ */
248
+ in: number[];
249
+ /**
250
+ * NotIn specifies that this field cannot be equal to one of the specified
251
+ * values
252
+ */
253
+ notIn: number[];
254
+ /**
255
+ * IgnoreEmpty specifies that the validation rules of this field should be
256
+ * evaluated only if the field is not empty
257
+ */
258
+ ignoreEmpty?: boolean | undefined;
259
+ }
260
+ /** UInt32Rules describes the constraints applied to `uint32` values */
261
+ export interface UInt32Rules {
262
+ /** Const specifies that this field must be exactly the specified value */
263
+ const?: number | undefined;
264
+ /**
265
+ * Lt specifies that this field must be less than the specified value,
266
+ * exclusive
267
+ */
268
+ lt?: number | undefined;
269
+ /**
270
+ * Lte specifies that this field must be less than or equal to the
271
+ * specified value, inclusive
272
+ */
273
+ lte?: number | undefined;
274
+ /**
275
+ * Gt specifies that this field must be greater than the specified value,
276
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
277
+ * range is reversed.
278
+ */
279
+ gt?: number | undefined;
280
+ /**
281
+ * Gte specifies that this field must be greater than or equal to the
282
+ * specified value, inclusive. If the value of Gte is larger than a
283
+ * specified Lt or Lte, the range is reversed.
284
+ */
285
+ gte?: number | undefined;
286
+ /**
287
+ * In specifies that this field must be equal to one of the specified
288
+ * values
289
+ */
290
+ in: number[];
291
+ /**
292
+ * NotIn specifies that this field cannot be equal to one of the specified
293
+ * values
294
+ */
295
+ notIn: number[];
296
+ /**
297
+ * IgnoreEmpty specifies that the validation rules of this field should be
298
+ * evaluated only if the field is not empty
299
+ */
300
+ ignoreEmpty?: boolean | undefined;
301
+ }
302
+ /** UInt64Rules describes the constraints applied to `uint64` values */
303
+ export interface UInt64Rules {
304
+ /** Const specifies that this field must be exactly the specified value */
305
+ const?: number | undefined;
306
+ /**
307
+ * Lt specifies that this field must be less than the specified value,
308
+ * exclusive
309
+ */
310
+ lt?: number | undefined;
311
+ /**
312
+ * Lte specifies that this field must be less than or equal to the
313
+ * specified value, inclusive
314
+ */
315
+ lte?: number | undefined;
316
+ /**
317
+ * Gt specifies that this field must be greater than the specified value,
318
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
319
+ * range is reversed.
320
+ */
321
+ gt?: number | undefined;
322
+ /**
323
+ * Gte specifies that this field must be greater than or equal to the
324
+ * specified value, inclusive. If the value of Gte is larger than a
325
+ * specified Lt or Lte, the range is reversed.
326
+ */
327
+ gte?: number | undefined;
328
+ /**
329
+ * In specifies that this field must be equal to one of the specified
330
+ * values
331
+ */
332
+ in: number[];
333
+ /**
334
+ * NotIn specifies that this field cannot be equal to one of the specified
335
+ * values
336
+ */
337
+ notIn: number[];
338
+ /**
339
+ * IgnoreEmpty specifies that the validation rules of this field should be
340
+ * evaluated only if the field is not empty
341
+ */
342
+ ignoreEmpty?: boolean | undefined;
343
+ }
344
+ /** SInt32Rules describes the constraints applied to `sint32` values */
345
+ export interface SInt32Rules {
346
+ /** Const specifies that this field must be exactly the specified value */
347
+ const?: number | undefined;
348
+ /**
349
+ * Lt specifies that this field must be less than the specified value,
350
+ * exclusive
351
+ */
352
+ lt?: number | undefined;
353
+ /**
354
+ * Lte specifies that this field must be less than or equal to the
355
+ * specified value, inclusive
356
+ */
357
+ lte?: number | undefined;
358
+ /**
359
+ * Gt specifies that this field must be greater than the specified value,
360
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
361
+ * range is reversed.
362
+ */
363
+ gt?: number | undefined;
364
+ /**
365
+ * Gte specifies that this field must be greater than or equal to the
366
+ * specified value, inclusive. If the value of Gte is larger than a
367
+ * specified Lt or Lte, the range is reversed.
368
+ */
369
+ gte?: number | undefined;
370
+ /**
371
+ * In specifies that this field must be equal to one of the specified
372
+ * values
373
+ */
374
+ in: number[];
375
+ /**
376
+ * NotIn specifies that this field cannot be equal to one of the specified
377
+ * values
378
+ */
379
+ notIn: number[];
380
+ /**
381
+ * IgnoreEmpty specifies that the validation rules of this field should be
382
+ * evaluated only if the field is not empty
383
+ */
384
+ ignoreEmpty?: boolean | undefined;
385
+ }
386
+ /** SInt64Rules describes the constraints applied to `sint64` values */
387
+ export interface SInt64Rules {
388
+ /** Const specifies that this field must be exactly the specified value */
389
+ const?: number | undefined;
390
+ /**
391
+ * Lt specifies that this field must be less than the specified value,
392
+ * exclusive
393
+ */
394
+ lt?: number | undefined;
395
+ /**
396
+ * Lte specifies that this field must be less than or equal to the
397
+ * specified value, inclusive
398
+ */
399
+ lte?: number | undefined;
400
+ /**
401
+ * Gt specifies that this field must be greater than the specified value,
402
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
403
+ * range is reversed.
404
+ */
405
+ gt?: number | undefined;
406
+ /**
407
+ * Gte specifies that this field must be greater than or equal to the
408
+ * specified value, inclusive. If the value of Gte is larger than a
409
+ * specified Lt or Lte, the range is reversed.
410
+ */
411
+ gte?: number | undefined;
412
+ /**
413
+ * In specifies that this field must be equal to one of the specified
414
+ * values
415
+ */
416
+ in: number[];
417
+ /**
418
+ * NotIn specifies that this field cannot be equal to one of the specified
419
+ * values
420
+ */
421
+ notIn: number[];
422
+ /**
423
+ * IgnoreEmpty specifies that the validation rules of this field should be
424
+ * evaluated only if the field is not empty
425
+ */
426
+ ignoreEmpty?: boolean | undefined;
427
+ }
428
+ /** Fixed32Rules describes the constraints applied to `fixed32` values */
429
+ export interface Fixed32Rules {
430
+ /** Const specifies that this field must be exactly the specified value */
431
+ const?: number | undefined;
432
+ /**
433
+ * Lt specifies that this field must be less than the specified value,
434
+ * exclusive
435
+ */
436
+ lt?: number | undefined;
437
+ /**
438
+ * Lte specifies that this field must be less than or equal to the
439
+ * specified value, inclusive
440
+ */
441
+ lte?: number | undefined;
442
+ /**
443
+ * Gt specifies that this field must be greater than the specified value,
444
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
445
+ * range is reversed.
446
+ */
447
+ gt?: number | undefined;
448
+ /**
449
+ * Gte specifies that this field must be greater than or equal to the
450
+ * specified value, inclusive. If the value of Gte is larger than a
451
+ * specified Lt or Lte, the range is reversed.
452
+ */
453
+ gte?: number | undefined;
454
+ /**
455
+ * In specifies that this field must be equal to one of the specified
456
+ * values
457
+ */
458
+ in: number[];
459
+ /**
460
+ * NotIn specifies that this field cannot be equal to one of the specified
461
+ * values
462
+ */
463
+ notIn: number[];
464
+ /**
465
+ * IgnoreEmpty specifies that the validation rules of this field should be
466
+ * evaluated only if the field is not empty
467
+ */
468
+ ignoreEmpty?: boolean | undefined;
469
+ }
470
+ /** Fixed64Rules describes the constraints applied to `fixed64` values */
471
+ export interface Fixed64Rules {
472
+ /** Const specifies that this field must be exactly the specified value */
473
+ const?: number | undefined;
474
+ /**
475
+ * Lt specifies that this field must be less than the specified value,
476
+ * exclusive
477
+ */
478
+ lt?: number | undefined;
479
+ /**
480
+ * Lte specifies that this field must be less than or equal to the
481
+ * specified value, inclusive
482
+ */
483
+ lte?: number | undefined;
484
+ /**
485
+ * Gt specifies that this field must be greater than the specified value,
486
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
487
+ * range is reversed.
488
+ */
489
+ gt?: number | undefined;
490
+ /**
491
+ * Gte specifies that this field must be greater than or equal to the
492
+ * specified value, inclusive. If the value of Gte is larger than a
493
+ * specified Lt or Lte, the range is reversed.
494
+ */
495
+ gte?: number | undefined;
496
+ /**
497
+ * In specifies that this field must be equal to one of the specified
498
+ * values
499
+ */
500
+ in: number[];
501
+ /**
502
+ * NotIn specifies that this field cannot be equal to one of the specified
503
+ * values
504
+ */
505
+ notIn: number[];
506
+ /**
507
+ * IgnoreEmpty specifies that the validation rules of this field should be
508
+ * evaluated only if the field is not empty
509
+ */
510
+ ignoreEmpty?: boolean | undefined;
511
+ }
512
+ /** SFixed32Rules describes the constraints applied to `sfixed32` values */
513
+ export interface SFixed32Rules {
514
+ /** Const specifies that this field must be exactly the specified value */
515
+ const?: number | undefined;
516
+ /**
517
+ * Lt specifies that this field must be less than the specified value,
518
+ * exclusive
519
+ */
520
+ lt?: number | undefined;
521
+ /**
522
+ * Lte specifies that this field must be less than or equal to the
523
+ * specified value, inclusive
524
+ */
525
+ lte?: number | undefined;
526
+ /**
527
+ * Gt specifies that this field must be greater than the specified value,
528
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
529
+ * range is reversed.
530
+ */
531
+ gt?: number | undefined;
532
+ /**
533
+ * Gte specifies that this field must be greater than or equal to the
534
+ * specified value, inclusive. If the value of Gte is larger than a
535
+ * specified Lt or Lte, the range is reversed.
536
+ */
537
+ gte?: number | undefined;
538
+ /**
539
+ * In specifies that this field must be equal to one of the specified
540
+ * values
541
+ */
542
+ in: number[];
543
+ /**
544
+ * NotIn specifies that this field cannot be equal to one of the specified
545
+ * values
546
+ */
547
+ notIn: number[];
548
+ /**
549
+ * IgnoreEmpty specifies that the validation rules of this field should be
550
+ * evaluated only if the field is not empty
551
+ */
552
+ ignoreEmpty?: boolean | undefined;
553
+ }
554
+ /** SFixed64Rules describes the constraints applied to `sfixed64` values */
555
+ export interface SFixed64Rules {
556
+ /** Const specifies that this field must be exactly the specified value */
557
+ const?: number | undefined;
558
+ /**
559
+ * Lt specifies that this field must be less than the specified value,
560
+ * exclusive
561
+ */
562
+ lt?: number | undefined;
563
+ /**
564
+ * Lte specifies that this field must be less than or equal to the
565
+ * specified value, inclusive
566
+ */
567
+ lte?: number | undefined;
568
+ /**
569
+ * Gt specifies that this field must be greater than the specified value,
570
+ * exclusive. If the value of Gt is larger than a specified Lt or Lte, the
571
+ * range is reversed.
572
+ */
573
+ gt?: number | undefined;
574
+ /**
575
+ * Gte specifies that this field must be greater than or equal to the
576
+ * specified value, inclusive. If the value of Gte is larger than a
577
+ * specified Lt or Lte, the range is reversed.
578
+ */
579
+ gte?: number | undefined;
580
+ /**
581
+ * In specifies that this field must be equal to one of the specified
582
+ * values
583
+ */
584
+ in: number[];
585
+ /**
586
+ * NotIn specifies that this field cannot be equal to one of the specified
587
+ * values
588
+ */
589
+ notIn: number[];
590
+ /**
591
+ * IgnoreEmpty specifies that the validation rules of this field should be
592
+ * evaluated only if the field is not empty
593
+ */
594
+ ignoreEmpty?: boolean | undefined;
595
+ }
596
+ /** BoolRules describes the constraints applied to `bool` values */
597
+ export interface BoolRules {
598
+ /** Const specifies that this field must be exactly the specified value */
599
+ const?: boolean | undefined;
600
+ }
601
+ /** StringRules describe the constraints applied to `string` values */
602
+ export interface StringRules {
603
+ /** Const specifies that this field must be exactly the specified value */
604
+ const?: string | undefined;
605
+ /**
606
+ * Len specifies that this field must be the specified number of
607
+ * characters (Unicode code points). Note that the number of
608
+ * characters may differ from the number of bytes in the string.
609
+ */
610
+ len?: number | undefined;
611
+ /**
612
+ * MinLen specifies that this field must be the specified number of
613
+ * characters (Unicode code points) at a minimum. Note that the number of
614
+ * characters may differ from the number of bytes in the string.
615
+ */
616
+ minLen?: number | undefined;
617
+ /**
618
+ * MaxLen specifies that this field must be the specified number of
619
+ * characters (Unicode code points) at a maximum. Note that the number of
620
+ * characters may differ from the number of bytes in the string.
621
+ */
622
+ maxLen?: number | undefined;
623
+ /** LenBytes specifies that this field must be the specified number of bytes */
624
+ lenBytes?: number | undefined;
625
+ /**
626
+ * MinBytes specifies that this field must be the specified number of bytes
627
+ * at a minimum
628
+ */
629
+ minBytes?: number | undefined;
630
+ /**
631
+ * MaxBytes specifies that this field must be the specified number of bytes
632
+ * at a maximum
633
+ */
634
+ maxBytes?: number | undefined;
635
+ /**
636
+ * Pattern specifes that this field must match against the specified
637
+ * regular expression (RE2 syntax). The included expression should elide
638
+ * any delimiters.
639
+ */
640
+ pattern?: string | undefined;
641
+ /**
642
+ * Prefix specifies that this field must have the specified substring at
643
+ * the beginning of the string.
644
+ */
645
+ prefix?: string | undefined;
646
+ /**
647
+ * Suffix specifies that this field must have the specified substring at
648
+ * the end of the string.
649
+ */
650
+ suffix?: string | undefined;
651
+ /**
652
+ * Contains specifies that this field must have the specified substring
653
+ * anywhere in the string.
654
+ */
655
+ contains?: string | undefined;
656
+ /**
657
+ * NotContains specifies that this field cannot have the specified substring
658
+ * anywhere in the string.
659
+ */
660
+ notContains?: string | undefined;
661
+ /**
662
+ * In specifies that this field must be equal to one of the specified
663
+ * values
664
+ */
665
+ in: string[];
666
+ /**
667
+ * NotIn specifies that this field cannot be equal to one of the specified
668
+ * values
669
+ */
670
+ notIn: string[];
671
+ /**
672
+ * WellKnown rules provide advanced constraints against common string
673
+ * patterns
674
+ */
675
+ wellKnown?: //
676
+ /**
677
+ * Email specifies that the field must be a valid email address as
678
+ * defined by RFC 5322
679
+ */
680
+ {
681
+ $case: "email";
682
+ email: boolean;
683
+ } | //
684
+ /**
685
+ * Hostname specifies that the field must be a valid hostname as
686
+ * defined by RFC 1034. This constraint does not support
687
+ * internationalized domain names (IDNs).
688
+ */
689
+ {
690
+ $case: "hostname";
691
+ hostname: boolean;
692
+ } | //
693
+ /**
694
+ * Ip specifies that the field must be a valid IP (v4 or v6) address.
695
+ * Valid IPv6 addresses should not include surrounding square brackets.
696
+ */
697
+ {
698
+ $case: "ip";
699
+ ip: boolean;
700
+ } | //
701
+ /** Ipv4 specifies that the field must be a valid IPv4 address. */
702
+ {
703
+ $case: "ipv4";
704
+ ipv4: boolean;
705
+ } | //
706
+ /**
707
+ * Ipv6 specifies that the field must be a valid IPv6 address. Valid
708
+ * IPv6 addresses should not include surrounding square brackets.
709
+ */
710
+ {
711
+ $case: "ipv6";
712
+ ipv6: boolean;
713
+ } | //
714
+ /**
715
+ * Uri specifies that the field must be a valid, absolute URI as defined
716
+ * by RFC 3986
717
+ */
718
+ {
719
+ $case: "uri";
720
+ uri: boolean;
721
+ } | //
722
+ /**
723
+ * UriRef specifies that the field must be a valid URI as defined by RFC
724
+ * 3986 and may be relative or absolute.
725
+ */
726
+ {
727
+ $case: "uriRef";
728
+ uriRef: boolean;
729
+ } | //
730
+ /**
731
+ * Address specifies that the field must be either a valid hostname as
732
+ * defined by RFC 1034 (which does not support internationalized domain
733
+ * names or IDNs), or it can be a valid IP (v4 or v6).
734
+ */
735
+ {
736
+ $case: "address";
737
+ address: boolean;
738
+ } | //
739
+ /**
740
+ * Uuid specifies that the field must be a valid UUID as defined by
741
+ * RFC 4122
742
+ */
743
+ {
744
+ $case: "uuid";
745
+ uuid: boolean;
746
+ } | //
747
+ /** WellKnownRegex specifies a common well known pattern defined as a regex. */
748
+ {
749
+ $case: "wellKnownRegex";
750
+ wellKnownRegex: KnownRegex;
751
+ } | undefined;
752
+ /**
753
+ * This applies to regexes HTTP_HEADER_NAME and HTTP_HEADER_VALUE to enable
754
+ * strict header validation.
755
+ * By default, this is true, and HTTP header validations are RFC-compliant.
756
+ * Setting to false will enable a looser validations that only disallows
757
+ * \r\n\0 characters, which can be used to bypass header matching rules.
758
+ */
759
+ strict?: boolean | undefined;
760
+ /**
761
+ * IgnoreEmpty specifies that the validation rules of this field should be
762
+ * evaluated only if the field is not empty
763
+ */
764
+ ignoreEmpty?: boolean | undefined;
765
+ }
766
+ /** BytesRules describe the constraints applied to `bytes` values */
767
+ export interface BytesRules {
768
+ /** Const specifies that this field must be exactly the specified value */
769
+ const?: Uint8Array | undefined;
770
+ /** Len specifies that this field must be the specified number of bytes */
771
+ len?: number | undefined;
772
+ /**
773
+ * MinLen specifies that this field must be the specified number of bytes
774
+ * at a minimum
775
+ */
776
+ minLen?: number | undefined;
777
+ /**
778
+ * MaxLen specifies that this field must be the specified number of bytes
779
+ * at a maximum
780
+ */
781
+ maxLen?: number | undefined;
782
+ /**
783
+ * Pattern specifes that this field must match against the specified
784
+ * regular expression (RE2 syntax). The included expression should elide
785
+ * any delimiters.
786
+ */
787
+ pattern?: string | undefined;
788
+ /**
789
+ * Prefix specifies that this field must have the specified bytes at the
790
+ * beginning of the string.
791
+ */
792
+ prefix?: Uint8Array | undefined;
793
+ /**
794
+ * Suffix specifies that this field must have the specified bytes at the
795
+ * end of the string.
796
+ */
797
+ suffix?: Uint8Array | undefined;
798
+ /**
799
+ * Contains specifies that this field must have the specified bytes
800
+ * anywhere in the string.
801
+ */
802
+ contains?: Uint8Array | undefined;
803
+ /**
804
+ * In specifies that this field must be equal to one of the specified
805
+ * values
806
+ */
807
+ in: Uint8Array[];
808
+ /**
809
+ * NotIn specifies that this field cannot be equal to one of the specified
810
+ * values
811
+ */
812
+ notIn: Uint8Array[];
813
+ /**
814
+ * WellKnown rules provide advanced constraints against common byte
815
+ * patterns
816
+ */
817
+ wellKnown?: //
818
+ /**
819
+ * Ip specifies that the field must be a valid IP (v4 or v6) address in
820
+ * byte format
821
+ */
822
+ {
823
+ $case: "ip";
824
+ ip: boolean;
825
+ } | //
826
+ /**
827
+ * Ipv4 specifies that the field must be a valid IPv4 address in byte
828
+ * format
829
+ */
830
+ {
831
+ $case: "ipv4";
832
+ ipv4: boolean;
833
+ } | //
834
+ /**
835
+ * Ipv6 specifies that the field must be a valid IPv6 address in byte
836
+ * format
837
+ */
838
+ {
839
+ $case: "ipv6";
840
+ ipv6: boolean;
841
+ } | undefined;
842
+ /**
843
+ * IgnoreEmpty specifies that the validation rules of this field should be
844
+ * evaluated only if the field is not empty
845
+ */
846
+ ignoreEmpty?: boolean | undefined;
847
+ }
848
+ /** EnumRules describe the constraints applied to enum values */
849
+ export interface EnumRules {
850
+ /** Const specifies that this field must be exactly the specified value */
851
+ const?: number | undefined;
852
+ /**
853
+ * DefinedOnly specifies that this field must be only one of the defined
854
+ * values for this enum, failing on any undefined value.
855
+ */
856
+ definedOnly?: boolean | undefined;
857
+ /**
858
+ * In specifies that this field must be equal to one of the specified
859
+ * values
860
+ */
861
+ in: number[];
862
+ /**
863
+ * NotIn specifies that this field cannot be equal to one of the specified
864
+ * values
865
+ */
866
+ notIn: number[];
867
+ }
868
+ /**
869
+ * MessageRules describe the constraints applied to embedded message values.
870
+ * For message-type fields, validation is performed recursively.
871
+ */
872
+ export interface MessageRules {
873
+ /**
874
+ * Skip specifies that the validation rules of this field should not be
875
+ * evaluated
876
+ */
877
+ skip?: boolean | undefined;
878
+ /** Required specifies that this field must be set */
879
+ required?: boolean | undefined;
880
+ }
881
+ /** RepeatedRules describe the constraints applied to `repeated` values */
882
+ export interface RepeatedRules {
883
+ /**
884
+ * MinItems specifies that this field must have the specified number of
885
+ * items at a minimum
886
+ */
887
+ minItems?: number | undefined;
888
+ /**
889
+ * MaxItems specifies that this field must have the specified number of
890
+ * items at a maximum
891
+ */
892
+ maxItems?: number | undefined;
893
+ /**
894
+ * Unique specifies that all elements in this field must be unique. This
895
+ * contraint is only applicable to scalar and enum types (messages are not
896
+ * supported).
897
+ */
898
+ unique?: boolean | undefined;
899
+ /**
900
+ * Items specifies the contraints to be applied to each item in the field.
901
+ * Repeated message fields will still execute validation against each item
902
+ * unless skip is specified here.
903
+ */
904
+ items?: FieldRules | undefined;
905
+ /**
906
+ * IgnoreEmpty specifies that the validation rules of this field should be
907
+ * evaluated only if the field is not empty
908
+ */
909
+ ignoreEmpty?: boolean | undefined;
910
+ }
911
+ /** MapRules describe the constraints applied to `map` values */
912
+ export interface MapRules {
913
+ /**
914
+ * MinPairs specifies that this field must have the specified number of
915
+ * KVs at a minimum
916
+ */
917
+ minPairs?: number | undefined;
918
+ /**
919
+ * MaxPairs specifies that this field must have the specified number of
920
+ * KVs at a maximum
921
+ */
922
+ maxPairs?: number | undefined;
923
+ /**
924
+ * NoSparse specifies values in this field cannot be unset. This only
925
+ * applies to map's with message value types.
926
+ */
927
+ noSparse?: boolean | undefined;
928
+ /** Keys specifies the constraints to be applied to each key in the field. */
929
+ keys?: FieldRules | undefined;
930
+ /**
931
+ * Values specifies the constraints to be applied to the value of each key
932
+ * in the field. Message values will still have their validations evaluated
933
+ * unless skip is specified here.
934
+ */
935
+ values?: FieldRules | undefined;
936
+ /**
937
+ * IgnoreEmpty specifies that the validation rules of this field should be
938
+ * evaluated only if the field is not empty
939
+ */
940
+ ignoreEmpty?: boolean | undefined;
941
+ }
942
+ /**
943
+ * AnyRules describe constraints applied exclusively to the
944
+ * `google.protobuf.Any` well-known type
945
+ */
946
+ export interface AnyRules {
947
+ /** Required specifies that this field must be set */
948
+ required?: boolean | undefined;
949
+ /**
950
+ * In specifies that this field's `type_url` must be equal to one of the
951
+ * specified values.
952
+ */
953
+ in: string[];
954
+ /**
955
+ * NotIn specifies that this field's `type_url` must not be equal to any of
956
+ * the specified values.
957
+ */
958
+ notIn: string[];
959
+ }
960
+ /**
961
+ * DurationRules describe the constraints applied exclusively to the
962
+ * `google.protobuf.Duration` well-known type
963
+ */
964
+ export interface DurationRules {
965
+ /** Required specifies that this field must be set */
966
+ required?: boolean | undefined;
967
+ /** Const specifies that this field must be exactly the specified value */
968
+ const?: Duration | undefined;
969
+ /**
970
+ * Lt specifies that this field must be less than the specified value,
971
+ * exclusive
972
+ */
973
+ lt?: Duration | undefined;
974
+ /**
975
+ * Lt specifies that this field must be less than the specified value,
976
+ * inclusive
977
+ */
978
+ lte?: Duration | undefined;
979
+ /**
980
+ * Gt specifies that this field must be greater than the specified value,
981
+ * exclusive
982
+ */
983
+ gt?: Duration | undefined;
984
+ /**
985
+ * Gte specifies that this field must be greater than the specified value,
986
+ * inclusive
987
+ */
988
+ gte?: Duration | undefined;
989
+ /**
990
+ * In specifies that this field must be equal to one of the specified
991
+ * values
992
+ */
993
+ in: Duration[];
994
+ /**
995
+ * NotIn specifies that this field cannot be equal to one of the specified
996
+ * values
997
+ */
998
+ notIn: Duration[];
999
+ }
1000
+ /**
1001
+ * TimestampRules describe the constraints applied exclusively to the
1002
+ * `google.protobuf.Timestamp` well-known type
1003
+ */
1004
+ export interface TimestampRules {
1005
+ /** Required specifies that this field must be set */
1006
+ required?: boolean | undefined;
1007
+ /** Const specifies that this field must be exactly the specified value */
1008
+ const?: Date | undefined;
1009
+ /**
1010
+ * Lt specifies that this field must be less than the specified value,
1011
+ * exclusive
1012
+ */
1013
+ lt?: Date | undefined;
1014
+ /**
1015
+ * Lte specifies that this field must be less than the specified value,
1016
+ * inclusive
1017
+ */
1018
+ lte?: Date | undefined;
1019
+ /**
1020
+ * Gt specifies that this field must be greater than the specified value,
1021
+ * exclusive
1022
+ */
1023
+ gt?: Date | undefined;
1024
+ /**
1025
+ * Gte specifies that this field must be greater than the specified value,
1026
+ * inclusive
1027
+ */
1028
+ gte?: Date | undefined;
1029
+ /**
1030
+ * LtNow specifies that this must be less than the current time. LtNow
1031
+ * can only be used with the Within rule.
1032
+ */
1033
+ ltNow?: boolean | undefined;
1034
+ /**
1035
+ * GtNow specifies that this must be greater than the current time. GtNow
1036
+ * can only be used with the Within rule.
1037
+ */
1038
+ gtNow?: boolean | undefined;
1039
+ /**
1040
+ * Within specifies that this field must be within this duration of the
1041
+ * current time. This constraint can be used alone or with the LtNow and
1042
+ * GtNow rules.
1043
+ */
1044
+ within?: Duration | undefined;
1045
+ }
1046
+ export declare const FieldRules: MessageFns<FieldRules>;
1047
+ export declare const FloatRules: MessageFns<FloatRules>;
1048
+ export declare const DoubleRules: MessageFns<DoubleRules>;
1049
+ export declare const Int32Rules: MessageFns<Int32Rules>;
1050
+ export declare const Int64Rules: MessageFns<Int64Rules>;
1051
+ export declare const UInt32Rules: MessageFns<UInt32Rules>;
1052
+ export declare const UInt64Rules: MessageFns<UInt64Rules>;
1053
+ export declare const SInt32Rules: MessageFns<SInt32Rules>;
1054
+ export declare const SInt64Rules: MessageFns<SInt64Rules>;
1055
+ export declare const Fixed32Rules: MessageFns<Fixed32Rules>;
1056
+ export declare const Fixed64Rules: MessageFns<Fixed64Rules>;
1057
+ export declare const SFixed32Rules: MessageFns<SFixed32Rules>;
1058
+ export declare const SFixed64Rules: MessageFns<SFixed64Rules>;
1059
+ export declare const BoolRules: MessageFns<BoolRules>;
1060
+ export declare const StringRules: MessageFns<StringRules>;
1061
+ export declare const BytesRules: MessageFns<BytesRules>;
1062
+ export declare const EnumRules: MessageFns<EnumRules>;
1063
+ export declare const MessageRules: MessageFns<MessageRules>;
1064
+ export declare const RepeatedRules: MessageFns<RepeatedRules>;
1065
+ export declare const MapRules: MessageFns<MapRules>;
1066
+ export declare const AnyRules: MessageFns<AnyRules>;
1067
+ export declare const DurationRules: MessageFns<DurationRules>;
1068
+ export declare const TimestampRules: MessageFns<TimestampRules>;
1069
+ type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined;
1070
+ export type DeepPartial<T> = T extends Builtin ? T : T extends globalThis.Array<infer U> ? globalThis.Array<DeepPartial<U>> : T extends ReadonlyArray<infer U> ? ReadonlyArray<DeepPartial<U>> : T extends {
1071
+ $case: string;
1072
+ } ? {
1073
+ [K in keyof Omit<T, "$case">]?: DeepPartial<T[K]>;
1074
+ } & {
1075
+ $case: T["$case"];
1076
+ } : T extends {} ? {
1077
+ [K in keyof T]?: DeepPartial<T[K]>;
1078
+ } : Partial<T>;
1079
+ export interface MessageFns<T> {
1080
+ encode(message: T, writer?: BinaryWriter): BinaryWriter;
1081
+ decode(input: BinaryReader | Uint8Array, length?: number): T;
1082
+ fromJSON(object: any): T;
1083
+ toJSON(message: T): unknown;
1084
+ create(base?: DeepPartial<T>): T;
1085
+ fromPartial(object: DeepPartial<T>): T;
1086
+ }
1087
+ export {};