@ensforge/react 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 (203) hide show
  1. package/LICENSE +201 -0
  2. package/README.md +87 -0
  3. package/dist/atoms/batch.d.ts +14 -0
  4. package/dist/atoms/batch.d.ts.map +1 -0
  5. package/dist/atoms/batch.js +16 -0
  6. package/dist/atoms/batch.js.map +1 -0
  7. package/dist/atoms/capabilities.d.ts +531 -0
  8. package/dist/atoms/capabilities.d.ts.map +1 -0
  9. package/dist/atoms/capabilities.js +21 -0
  10. package/dist/atoms/capabilities.js.map +1 -0
  11. package/dist/atoms/dns.d.ts +75 -0
  12. package/dist/atoms/dns.d.ts.map +1 -0
  13. package/dist/atoms/dns.js +18 -0
  14. package/dist/atoms/dns.js.map +1 -0
  15. package/dist/atoms/events.d.ts +86 -0
  16. package/dist/atoms/events.d.ts.map +1 -0
  17. package/dist/atoms/events.js +11 -0
  18. package/dist/atoms/events.js.map +1 -0
  19. package/dist/atoms/generic.d.ts +14 -0
  20. package/dist/atoms/generic.d.ts.map +1 -0
  21. package/dist/atoms/generic.js +13 -0
  22. package/dist/atoms/generic.js.map +1 -0
  23. package/dist/atoms/migration.d.ts +171 -0
  24. package/dist/atoms/migration.d.ts.map +1 -0
  25. package/dist/atoms/migration.js +15 -0
  26. package/dist/atoms/migration.js.map +1 -0
  27. package/dist/atoms/mutation.d.ts +12 -0
  28. package/dist/atoms/mutation.d.ts.map +1 -0
  29. package/dist/atoms/mutation.js +11 -0
  30. package/dist/atoms/mutation.js.map +1 -0
  31. package/dist/atoms/name.d.ts +141 -0
  32. package/dist/atoms/name.d.ts.map +1 -0
  33. package/dist/atoms/name.js +22 -0
  34. package/dist/atoms/name.js.map +1 -0
  35. package/dist/atoms/ownership.d.ts +12 -0
  36. package/dist/atoms/ownership.d.ts.map +1 -0
  37. package/dist/atoms/ownership.js +14 -0
  38. package/dist/atoms/ownership.js.map +1 -0
  39. package/dist/atoms/permissions.d.ts +16 -0
  40. package/dist/atoms/permissions.d.ts.map +1 -0
  41. package/dist/atoms/permissions.js +18 -0
  42. package/dist/atoms/permissions.js.map +1 -0
  43. package/dist/atoms/query.d.ts +18 -0
  44. package/dist/atoms/query.d.ts.map +1 -0
  45. package/dist/atoms/query.js +30 -0
  46. package/dist/atoms/query.js.map +1 -0
  47. package/dist/atoms/records.d.ts +93 -0
  48. package/dist/atoms/records.d.ts.map +1 -0
  49. package/dist/atoms/records.js +34 -0
  50. package/dist/atoms/records.js.map +1 -0
  51. package/dist/atoms/registration.d.ts +253 -0
  52. package/dist/atoms/registration.d.ts.map +1 -0
  53. package/dist/atoms/registration.js +23 -0
  54. package/dist/atoms/registration.js.map +1 -0
  55. package/dist/atoms/resolution.d.ts +45 -0
  56. package/dist/atoms/resolution.d.ts.map +1 -0
  57. package/dist/atoms/resolution.js +20 -0
  58. package/dist/atoms/resolution.js.map +1 -0
  59. package/dist/atoms/reverse.d.ts +14 -0
  60. package/dist/atoms/reverse.d.ts.map +1 -0
  61. package/dist/atoms/reverse.js +13 -0
  62. package/dist/atoms/reverse.js.map +1 -0
  63. package/dist/atoms/stream.d.ts +11 -0
  64. package/dist/atoms/stream.d.ts.map +1 -0
  65. package/dist/atoms/stream.js +23 -0
  66. package/dist/atoms/stream.js.map +1 -0
  67. package/dist/atoms/subnames.d.ts +12 -0
  68. package/dist/atoms/subnames.d.ts.map +1 -0
  69. package/dist/atoms/subnames.js +14 -0
  70. package/dist/atoms/subnames.js.map +1 -0
  71. package/dist/atoms/wrapping.d.ts +13 -0
  72. package/dist/atoms/wrapping.d.ts.map +1 -0
  73. package/dist/atoms/wrapping.js +15 -0
  74. package/dist/atoms/wrapping.js.map +1 -0
  75. package/dist/atoms.d.ts +19 -0
  76. package/dist/atoms.js +20 -0
  77. package/dist/cache/invalidation.d.ts +18 -0
  78. package/dist/cache/invalidation.d.ts.map +1 -0
  79. package/dist/cache/invalidation.js +23 -0
  80. package/dist/cache/invalidation.js.map +1 -0
  81. package/dist/cache/prefetch.d.ts +10 -0
  82. package/dist/cache/prefetch.d.ts.map +1 -0
  83. package/dist/cache/prefetch.js +10 -0
  84. package/dist/cache/prefetch.js.map +1 -0
  85. package/dist/cache/registry.d.ts +10 -0
  86. package/dist/cache/registry.d.ts.map +1 -0
  87. package/dist/cache/registry.js +12 -0
  88. package/dist/cache/registry.js.map +1 -0
  89. package/dist/cache.d.ts +4 -0
  90. package/dist/cache.js +5 -0
  91. package/dist/hooks/batch.d.ts +23 -0
  92. package/dist/hooks/batch.d.ts.map +1 -0
  93. package/dist/hooks/batch.js +25 -0
  94. package/dist/hooks/batch.js.map +1 -0
  95. package/dist/hooks/capabilities.d.ts +2084 -0
  96. package/dist/hooks/capabilities.d.ts.map +1 -0
  97. package/dist/hooks/capabilities.js +39 -0
  98. package/dist/hooks/capabilities.js.map +1 -0
  99. package/dist/hooks/dns.d.ts +262 -0
  100. package/dist/hooks/dns.d.ts.map +1 -0
  101. package/dist/hooks/dns.js +28 -0
  102. package/dist/hooks/dns.js.map +1 -0
  103. package/dist/hooks/events.d.ts +275 -0
  104. package/dist/hooks/events.d.ts.map +1 -0
  105. package/dist/hooks/events.js +16 -0
  106. package/dist/hooks/events.js.map +1 -0
  107. package/dist/hooks/generic.d.ts +12 -0
  108. package/dist/hooks/generic.d.ts.map +1 -0
  109. package/dist/hooks/generic.js +13 -0
  110. package/dist/hooks/generic.js.map +1 -0
  111. package/dist/hooks/index.d.ts +20 -0
  112. package/dist/hooks/migration.d.ts +653 -0
  113. package/dist/hooks/migration.d.ts.map +1 -0
  114. package/dist/hooks/migration.js +23 -0
  115. package/dist/hooks/migration.js.map +1 -0
  116. package/dist/hooks/name.d.ts +522 -0
  117. package/dist/hooks/name.d.ts.map +1 -0
  118. package/dist/hooks/name.js +41 -0
  119. package/dist/hooks/name.js.map +1 -0
  120. package/dist/hooks/ownership.d.ts +17 -0
  121. package/dist/hooks/ownership.d.ts.map +1 -0
  122. package/dist/hooks/ownership.js +19 -0
  123. package/dist/hooks/ownership.js.map +1 -0
  124. package/dist/hooks/permissions.d.ts +18 -0
  125. package/dist/hooks/permissions.d.ts.map +1 -0
  126. package/dist/hooks/permissions.js +21 -0
  127. package/dist/hooks/permissions.js.map +1 -0
  128. package/dist/hooks/records.d.ts +291 -0
  129. package/dist/hooks/records.d.ts.map +1 -0
  130. package/dist/hooks/records.js +49 -0
  131. package/dist/hooks/records.js.map +1 -0
  132. package/dist/hooks/registration.d.ts +960 -0
  133. package/dist/hooks/registration.d.ts.map +1 -0
  134. package/dist/hooks/registration.js +34 -0
  135. package/dist/hooks/registration.js.map +1 -0
  136. package/dist/hooks/resolution.d.ts +137 -0
  137. package/dist/hooks/resolution.d.ts.map +1 -0
  138. package/dist/hooks/resolution.js +31 -0
  139. package/dist/hooks/resolution.js.map +1 -0
  140. package/dist/hooks/reverse.d.ts +28 -0
  141. package/dist/hooks/reverse.d.ts.map +1 -0
  142. package/dist/hooks/reverse.js +18 -0
  143. package/dist/hooks/reverse.js.map +1 -0
  144. package/dist/hooks/subnames.d.ts +14 -0
  145. package/dist/hooks/subnames.d.ts.map +1 -0
  146. package/dist/hooks/subnames.js +17 -0
  147. package/dist/hooks/subnames.js.map +1 -0
  148. package/dist/hooks/use-cache.d.ts +11 -0
  149. package/dist/hooks/use-cache.d.ts.map +1 -0
  150. package/dist/hooks/use-cache.js +20 -0
  151. package/dist/hooks/use-cache.js.map +1 -0
  152. package/dist/hooks/use-mutation.d.ts +8 -0
  153. package/dist/hooks/use-mutation.d.ts.map +1 -0
  154. package/dist/hooks/use-mutation.js +79 -0
  155. package/dist/hooks/use-mutation.js.map +1 -0
  156. package/dist/hooks/use-query.d.ts +10 -0
  157. package/dist/hooks/use-query.d.ts.map +1 -0
  158. package/dist/hooks/use-query.js +81 -0
  159. package/dist/hooks/use-query.js.map +1 -0
  160. package/dist/hooks/use-suspense-query.d.ts +15 -0
  161. package/dist/hooks/use-suspense-query.d.ts.map +1 -0
  162. package/dist/hooks/use-suspense-query.js +22 -0
  163. package/dist/hooks/use-suspense-query.js.map +1 -0
  164. package/dist/hooks/wrapping.d.ts +19 -0
  165. package/dist/hooks/wrapping.d.ts.map +1 -0
  166. package/dist/hooks/wrapping.js +21 -0
  167. package/dist/hooks/wrapping.js.map +1 -0
  168. package/dist/index.d.ts +35 -0
  169. package/dist/index.js +30 -0
  170. package/dist/internal/action-types.d.ts +8 -0
  171. package/dist/internal/action-types.d.ts.map +1 -0
  172. package/dist/internal/runtime.js +9 -0
  173. package/dist/internal/runtime.js.map +1 -0
  174. package/dist/mutation/options.d.ts +12 -0
  175. package/dist/mutation/options.d.ts.map +1 -0
  176. package/dist/mutation/result.d.ts +25 -0
  177. package/dist/mutation/result.d.ts.map +1 -0
  178. package/dist/provider/context.d.ts +9 -0
  179. package/dist/provider/context.d.ts.map +1 -0
  180. package/dist/provider/context.js +15 -0
  181. package/dist/provider/context.js.map +1 -0
  182. package/dist/provider/ensforge-provider.d.ts +22 -0
  183. package/dist/provider/ensforge-provider.d.ts.map +1 -0
  184. package/dist/provider/ensforge-provider.js +31 -0
  185. package/dist/provider/ensforge-provider.js.map +1 -0
  186. package/dist/provider/hooks.d.ts +6 -0
  187. package/dist/provider/hooks.d.ts.map +1 -0
  188. package/dist/provider/hooks.js +13 -0
  189. package/dist/provider/hooks.js.map +1 -0
  190. package/dist/provider/index.d.ts +4 -0
  191. package/dist/query/keys.d.ts +6 -0
  192. package/dist/query/keys.d.ts.map +1 -0
  193. package/dist/query/keys.js +25 -0
  194. package/dist/query/keys.js.map +1 -0
  195. package/dist/query/options.d.ts +31 -0
  196. package/dist/query/options.d.ts.map +1 -0
  197. package/dist/query/options.js +19 -0
  198. package/dist/query/options.js.map +1 -0
  199. package/dist/query/result.d.ts +25 -0
  200. package/dist/query/result.d.ts.map +1 -0
  201. package/dist/query/result.js +19 -0
  202. package/dist/query/result.js.map +1 -0
  203. package/package.json +70 -0
@@ -0,0 +1,2084 @@
1
+ import { UseEnsQueryParameters } from "../query/options.js";
2
+ import { EnsSuspenseQueryResult, UseEnsSuspenseQueryParameters } from "./use-suspense-query.js";
3
+ import { EnsQueryResult } from "../query/result.js";
4
+ import "../index.js";
5
+ //#region src/hooks/capabilities.d.ts
6
+ declare const useNameCapabilities: <Selected = {
7
+ readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
8
+ readonly account: `0x${string}`;
9
+ readonly registry: {
10
+ readonly address: `0x${string}`;
11
+ readonly protocol: "v1" | "v2";
12
+ readonly kind: "registry" | "name-wrapper" | "permissioned-registry" | "wrapper-registry";
13
+ readonly owned: boolean;
14
+ readonly permissioned: boolean;
15
+ readonly temporal: boolean;
16
+ readonly tokenized: boolean;
17
+ readonly wrapped: boolean;
18
+ readonly setOwner: boolean;
19
+ readonly setResolver: boolean;
20
+ readonly createSubname: boolean;
21
+ readonly transfer: boolean;
22
+ readonly setExpiry: boolean;
23
+ };
24
+ readonly resolver: {
25
+ readonly address: `0x${string}` | null;
26
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
27
+ readonly inherited: boolean;
28
+ readonly extended: boolean;
29
+ readonly permissioned: boolean;
30
+ readonly authorization: "unknown" | "none" | "owner-delegate" | "role";
31
+ readonly profiles: {
32
+ readonly address: boolean;
33
+ readonly text: boolean;
34
+ readonly contentHash: boolean;
35
+ readonly abi: boolean;
36
+ readonly pubkey: boolean;
37
+ readonly interface: boolean;
38
+ readonly name: boolean;
39
+ readonly data: boolean;
40
+ readonly dnsRecord: boolean;
41
+ readonly dnsZone: boolean;
42
+ };
43
+ };
44
+ readonly records: readonly {
45
+ readonly record: {
46
+ readonly type: "address";
47
+ readonly coinType: bigint;
48
+ } | {
49
+ readonly type: "text";
50
+ readonly key: string;
51
+ } | {
52
+ readonly type: "contentHash";
53
+ } | {
54
+ readonly type: "pubkey";
55
+ } | {
56
+ readonly type: "abi";
57
+ readonly contentType?: bigint | undefined;
58
+ } | {
59
+ readonly type: "interface";
60
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
61
+ } | {
62
+ readonly type: "name";
63
+ } | {
64
+ readonly type: "data";
65
+ readonly key: string;
66
+ } | {
67
+ readonly type: "alias";
68
+ } | {
69
+ readonly type: "dnsRecord";
70
+ } | {
71
+ readonly type: "dnsZone";
72
+ } | {
73
+ readonly type: "clear";
74
+ };
75
+ readonly supported: boolean;
76
+ readonly authorization: {
77
+ readonly status: "authorized";
78
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
79
+ } | {
80
+ readonly status: "unauthorized";
81
+ readonly requirement: {
82
+ readonly kind: "none";
83
+ } | {
84
+ readonly kind: "owner";
85
+ } | {
86
+ readonly kind: "operator-approval";
87
+ } | {
88
+ readonly kind: "token-approval";
89
+ } | {
90
+ readonly kind: "resolver-delegate";
91
+ } | {
92
+ readonly kind: "registry-role";
93
+ readonly roles: bigint;
94
+ readonly resource: bigint;
95
+ } | {
96
+ readonly kind: "resolver-role";
97
+ readonly roles: bigint;
98
+ readonly resource: bigint;
99
+ } | {
100
+ readonly kind: "wrapper-permission";
101
+ } | {
102
+ readonly kind: "unsupported";
103
+ };
104
+ } | {
105
+ readonly status: "unknown";
106
+ readonly reason: "CUSTOM_RESOLVER";
107
+ };
108
+ readonly requiredRole: bigint;
109
+ readonly resource: bigint | null;
110
+ }[];
111
+ readonly ownership: {
112
+ readonly setOwner: boolean;
113
+ readonly setResolver: boolean;
114
+ readonly createSubname: boolean;
115
+ readonly transfer: boolean;
116
+ readonly setExpiry: boolean;
117
+ };
118
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetNameCapabilitiesParameters, {
119
+ readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
120
+ readonly account: `0x${string}`;
121
+ readonly registry: {
122
+ readonly address: `0x${string}`;
123
+ readonly protocol: "v1" | "v2";
124
+ readonly kind: "registry" | "name-wrapper" | "permissioned-registry" | "wrapper-registry";
125
+ readonly owned: boolean;
126
+ readonly permissioned: boolean;
127
+ readonly temporal: boolean;
128
+ readonly tokenized: boolean;
129
+ readonly wrapped: boolean;
130
+ readonly setOwner: boolean;
131
+ readonly setResolver: boolean;
132
+ readonly createSubname: boolean;
133
+ readonly transfer: boolean;
134
+ readonly setExpiry: boolean;
135
+ };
136
+ readonly resolver: {
137
+ readonly address: `0x${string}` | null;
138
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
139
+ readonly inherited: boolean;
140
+ readonly extended: boolean;
141
+ readonly permissioned: boolean;
142
+ readonly authorization: "unknown" | "none" | "owner-delegate" | "role";
143
+ readonly profiles: {
144
+ readonly address: boolean;
145
+ readonly text: boolean;
146
+ readonly contentHash: boolean;
147
+ readonly abi: boolean;
148
+ readonly pubkey: boolean;
149
+ readonly interface: boolean;
150
+ readonly name: boolean;
151
+ readonly data: boolean;
152
+ readonly dnsRecord: boolean;
153
+ readonly dnsZone: boolean;
154
+ };
155
+ };
156
+ readonly records: readonly {
157
+ readonly record: {
158
+ readonly type: "address";
159
+ readonly coinType: bigint;
160
+ } | {
161
+ readonly type: "text";
162
+ readonly key: string;
163
+ } | {
164
+ readonly type: "contentHash";
165
+ } | {
166
+ readonly type: "pubkey";
167
+ } | {
168
+ readonly type: "abi";
169
+ readonly contentType?: bigint | undefined;
170
+ } | {
171
+ readonly type: "interface";
172
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
173
+ } | {
174
+ readonly type: "name";
175
+ } | {
176
+ readonly type: "data";
177
+ readonly key: string;
178
+ } | {
179
+ readonly type: "alias";
180
+ } | {
181
+ readonly type: "dnsRecord";
182
+ } | {
183
+ readonly type: "dnsZone";
184
+ } | {
185
+ readonly type: "clear";
186
+ };
187
+ readonly supported: boolean;
188
+ readonly authorization: {
189
+ readonly status: "authorized";
190
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
191
+ } | {
192
+ readonly status: "unauthorized";
193
+ readonly requirement: {
194
+ readonly kind: "none";
195
+ } | {
196
+ readonly kind: "owner";
197
+ } | {
198
+ readonly kind: "operator-approval";
199
+ } | {
200
+ readonly kind: "token-approval";
201
+ } | {
202
+ readonly kind: "resolver-delegate";
203
+ } | {
204
+ readonly kind: "registry-role";
205
+ readonly roles: bigint;
206
+ readonly resource: bigint;
207
+ } | {
208
+ readonly kind: "resolver-role";
209
+ readonly roles: bigint;
210
+ readonly resource: bigint;
211
+ } | {
212
+ readonly kind: "wrapper-permission";
213
+ } | {
214
+ readonly kind: "unsupported";
215
+ };
216
+ } | {
217
+ readonly status: "unknown";
218
+ readonly reason: "CUSTOM_RESOLVER";
219
+ };
220
+ readonly requiredRole: bigint;
221
+ readonly resource: bigint | null;
222
+ }[];
223
+ readonly ownership: {
224
+ readonly setOwner: boolean;
225
+ readonly setResolver: boolean;
226
+ readonly createSubname: boolean;
227
+ readonly transfer: boolean;
228
+ readonly setExpiry: boolean;
229
+ };
230
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
231
+ declare const useNameCapabilitiesSuspense: <Selected = {
232
+ readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
233
+ readonly account: `0x${string}`;
234
+ readonly registry: {
235
+ readonly address: `0x${string}`;
236
+ readonly protocol: "v1" | "v2";
237
+ readonly kind: "registry" | "name-wrapper" | "permissioned-registry" | "wrapper-registry";
238
+ readonly owned: boolean;
239
+ readonly permissioned: boolean;
240
+ readonly temporal: boolean;
241
+ readonly tokenized: boolean;
242
+ readonly wrapped: boolean;
243
+ readonly setOwner: boolean;
244
+ readonly setResolver: boolean;
245
+ readonly createSubname: boolean;
246
+ readonly transfer: boolean;
247
+ readonly setExpiry: boolean;
248
+ };
249
+ readonly resolver: {
250
+ readonly address: `0x${string}` | null;
251
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
252
+ readonly inherited: boolean;
253
+ readonly extended: boolean;
254
+ readonly permissioned: boolean;
255
+ readonly authorization: "unknown" | "none" | "owner-delegate" | "role";
256
+ readonly profiles: {
257
+ readonly address: boolean;
258
+ readonly text: boolean;
259
+ readonly contentHash: boolean;
260
+ readonly abi: boolean;
261
+ readonly pubkey: boolean;
262
+ readonly interface: boolean;
263
+ readonly name: boolean;
264
+ readonly data: boolean;
265
+ readonly dnsRecord: boolean;
266
+ readonly dnsZone: boolean;
267
+ };
268
+ };
269
+ readonly records: readonly {
270
+ readonly record: {
271
+ readonly type: "address";
272
+ readonly coinType: bigint;
273
+ } | {
274
+ readonly type: "text";
275
+ readonly key: string;
276
+ } | {
277
+ readonly type: "contentHash";
278
+ } | {
279
+ readonly type: "pubkey";
280
+ } | {
281
+ readonly type: "abi";
282
+ readonly contentType?: bigint | undefined;
283
+ } | {
284
+ readonly type: "interface";
285
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
286
+ } | {
287
+ readonly type: "name";
288
+ } | {
289
+ readonly type: "data";
290
+ readonly key: string;
291
+ } | {
292
+ readonly type: "alias";
293
+ } | {
294
+ readonly type: "dnsRecord";
295
+ } | {
296
+ readonly type: "dnsZone";
297
+ } | {
298
+ readonly type: "clear";
299
+ };
300
+ readonly supported: boolean;
301
+ readonly authorization: {
302
+ readonly status: "authorized";
303
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
304
+ } | {
305
+ readonly status: "unauthorized";
306
+ readonly requirement: {
307
+ readonly kind: "none";
308
+ } | {
309
+ readonly kind: "owner";
310
+ } | {
311
+ readonly kind: "operator-approval";
312
+ } | {
313
+ readonly kind: "token-approval";
314
+ } | {
315
+ readonly kind: "resolver-delegate";
316
+ } | {
317
+ readonly kind: "registry-role";
318
+ readonly roles: bigint;
319
+ readonly resource: bigint;
320
+ } | {
321
+ readonly kind: "resolver-role";
322
+ readonly roles: bigint;
323
+ readonly resource: bigint;
324
+ } | {
325
+ readonly kind: "wrapper-permission";
326
+ } | {
327
+ readonly kind: "unsupported";
328
+ };
329
+ } | {
330
+ readonly status: "unknown";
331
+ readonly reason: "CUSTOM_RESOLVER";
332
+ };
333
+ readonly requiredRole: bigint;
334
+ readonly resource: bigint | null;
335
+ }[];
336
+ readonly ownership: {
337
+ readonly setOwner: boolean;
338
+ readonly setResolver: boolean;
339
+ readonly createSubname: boolean;
340
+ readonly transfer: boolean;
341
+ readonly setExpiry: boolean;
342
+ };
343
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetNameCapabilitiesParameters, {
344
+ readonly name: string & import("effect/Brand").Brand<"NormalizedName">;
345
+ readonly account: `0x${string}`;
346
+ readonly registry: {
347
+ readonly address: `0x${string}`;
348
+ readonly protocol: "v1" | "v2";
349
+ readonly kind: "registry" | "name-wrapper" | "permissioned-registry" | "wrapper-registry";
350
+ readonly owned: boolean;
351
+ readonly permissioned: boolean;
352
+ readonly temporal: boolean;
353
+ readonly tokenized: boolean;
354
+ readonly wrapped: boolean;
355
+ readonly setOwner: boolean;
356
+ readonly setResolver: boolean;
357
+ readonly createSubname: boolean;
358
+ readonly transfer: boolean;
359
+ readonly setExpiry: boolean;
360
+ };
361
+ readonly resolver: {
362
+ readonly address: `0x${string}` | null;
363
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
364
+ readonly inherited: boolean;
365
+ readonly extended: boolean;
366
+ readonly permissioned: boolean;
367
+ readonly authorization: "unknown" | "none" | "owner-delegate" | "role";
368
+ readonly profiles: {
369
+ readonly address: boolean;
370
+ readonly text: boolean;
371
+ readonly contentHash: boolean;
372
+ readonly abi: boolean;
373
+ readonly pubkey: boolean;
374
+ readonly interface: boolean;
375
+ readonly name: boolean;
376
+ readonly data: boolean;
377
+ readonly dnsRecord: boolean;
378
+ readonly dnsZone: boolean;
379
+ };
380
+ };
381
+ readonly records: readonly {
382
+ readonly record: {
383
+ readonly type: "address";
384
+ readonly coinType: bigint;
385
+ } | {
386
+ readonly type: "text";
387
+ readonly key: string;
388
+ } | {
389
+ readonly type: "contentHash";
390
+ } | {
391
+ readonly type: "pubkey";
392
+ } | {
393
+ readonly type: "abi";
394
+ readonly contentType?: bigint | undefined;
395
+ } | {
396
+ readonly type: "interface";
397
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
398
+ } | {
399
+ readonly type: "name";
400
+ } | {
401
+ readonly type: "data";
402
+ readonly key: string;
403
+ } | {
404
+ readonly type: "alias";
405
+ } | {
406
+ readonly type: "dnsRecord";
407
+ } | {
408
+ readonly type: "dnsZone";
409
+ } | {
410
+ readonly type: "clear";
411
+ };
412
+ readonly supported: boolean;
413
+ readonly authorization: {
414
+ readonly status: "authorized";
415
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
416
+ } | {
417
+ readonly status: "unauthorized";
418
+ readonly requirement: {
419
+ readonly kind: "none";
420
+ } | {
421
+ readonly kind: "owner";
422
+ } | {
423
+ readonly kind: "operator-approval";
424
+ } | {
425
+ readonly kind: "token-approval";
426
+ } | {
427
+ readonly kind: "resolver-delegate";
428
+ } | {
429
+ readonly kind: "registry-role";
430
+ readonly roles: bigint;
431
+ readonly resource: bigint;
432
+ } | {
433
+ readonly kind: "resolver-role";
434
+ readonly roles: bigint;
435
+ readonly resource: bigint;
436
+ } | {
437
+ readonly kind: "wrapper-permission";
438
+ } | {
439
+ readonly kind: "unsupported";
440
+ };
441
+ } | {
442
+ readonly status: "unknown";
443
+ readonly reason: "CUSTOM_RESOLVER";
444
+ };
445
+ readonly requiredRole: bigint;
446
+ readonly resource: bigint | null;
447
+ }[];
448
+ readonly ownership: {
449
+ readonly setOwner: boolean;
450
+ readonly setResolver: boolean;
451
+ readonly createSubname: boolean;
452
+ readonly transfer: boolean;
453
+ readonly setExpiry: boolean;
454
+ };
455
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
456
+ declare const useOperatorApproval: <Selected = {
457
+ readonly owner: `0x${string}`;
458
+ readonly operator: `0x${string}`;
459
+ readonly targets: readonly {
460
+ readonly kind: "resolver" | "registrar" | "registry" | "wrapper";
461
+ readonly address: `0x${string}`;
462
+ readonly supported: boolean;
463
+ readonly approved: boolean;
464
+ }[];
465
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetOperatorApprovalParameters, {
466
+ readonly owner: `0x${string}`;
467
+ readonly operator: `0x${string}`;
468
+ readonly targets: readonly {
469
+ readonly kind: "resolver" | "registrar" | "registry" | "wrapper";
470
+ readonly address: `0x${string}`;
471
+ readonly supported: boolean;
472
+ readonly approved: boolean;
473
+ }[];
474
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
475
+ declare const useOperatorApprovalSuspense: <Selected = {
476
+ readonly owner: `0x${string}`;
477
+ readonly operator: `0x${string}`;
478
+ readonly targets: readonly {
479
+ readonly kind: "resolver" | "registrar" | "registry" | "wrapper";
480
+ readonly address: `0x${string}`;
481
+ readonly supported: boolean;
482
+ readonly approved: boolean;
483
+ }[];
484
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetOperatorApprovalParameters, {
485
+ readonly owner: `0x${string}`;
486
+ readonly operator: `0x${string}`;
487
+ readonly targets: readonly {
488
+ readonly kind: "resolver" | "registrar" | "registry" | "wrapper";
489
+ readonly address: `0x${string}`;
490
+ readonly supported: boolean;
491
+ readonly approved: boolean;
492
+ }[];
493
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
494
+ declare const useRecordPermissions: <Selected = {
495
+ readonly resolver: `0x${string}` | null;
496
+ readonly inherited: boolean;
497
+ readonly account: `0x${string}`;
498
+ readonly records: readonly {
499
+ readonly record: {
500
+ readonly type: "address";
501
+ readonly coinType: bigint;
502
+ } | {
503
+ readonly type: "text";
504
+ readonly key: string;
505
+ } | {
506
+ readonly type: "contentHash";
507
+ } | {
508
+ readonly type: "pubkey";
509
+ } | {
510
+ readonly type: "abi";
511
+ readonly contentType?: bigint | undefined;
512
+ } | {
513
+ readonly type: "interface";
514
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
515
+ } | {
516
+ readonly type: "name";
517
+ } | {
518
+ readonly type: "data";
519
+ readonly key: string;
520
+ } | {
521
+ readonly type: "alias";
522
+ } | {
523
+ readonly type: "dnsRecord";
524
+ } | {
525
+ readonly type: "dnsZone";
526
+ } | {
527
+ readonly type: "clear";
528
+ };
529
+ readonly supported: boolean;
530
+ readonly authorization: {
531
+ readonly status: "authorized";
532
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
533
+ } | {
534
+ readonly status: "unauthorized";
535
+ readonly requirement: {
536
+ readonly kind: "none";
537
+ } | {
538
+ readonly kind: "owner";
539
+ } | {
540
+ readonly kind: "operator-approval";
541
+ } | {
542
+ readonly kind: "token-approval";
543
+ } | {
544
+ readonly kind: "resolver-delegate";
545
+ } | {
546
+ readonly kind: "registry-role";
547
+ readonly roles: bigint;
548
+ readonly resource: bigint;
549
+ } | {
550
+ readonly kind: "resolver-role";
551
+ readonly roles: bigint;
552
+ readonly resource: bigint;
553
+ } | {
554
+ readonly kind: "wrapper-permission";
555
+ } | {
556
+ readonly kind: "unsupported";
557
+ };
558
+ } | {
559
+ readonly status: "unknown";
560
+ readonly reason: "CUSTOM_RESOLVER";
561
+ };
562
+ readonly requiredRole: bigint;
563
+ readonly resource: bigint | null;
564
+ }[];
565
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetRecordPermissionsParameters, {
566
+ readonly resolver: `0x${string}` | null;
567
+ readonly inherited: boolean;
568
+ readonly account: `0x${string}`;
569
+ readonly records: readonly {
570
+ readonly record: {
571
+ readonly type: "address";
572
+ readonly coinType: bigint;
573
+ } | {
574
+ readonly type: "text";
575
+ readonly key: string;
576
+ } | {
577
+ readonly type: "contentHash";
578
+ } | {
579
+ readonly type: "pubkey";
580
+ } | {
581
+ readonly type: "abi";
582
+ readonly contentType?: bigint | undefined;
583
+ } | {
584
+ readonly type: "interface";
585
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
586
+ } | {
587
+ readonly type: "name";
588
+ } | {
589
+ readonly type: "data";
590
+ readonly key: string;
591
+ } | {
592
+ readonly type: "alias";
593
+ } | {
594
+ readonly type: "dnsRecord";
595
+ } | {
596
+ readonly type: "dnsZone";
597
+ } | {
598
+ readonly type: "clear";
599
+ };
600
+ readonly supported: boolean;
601
+ readonly authorization: {
602
+ readonly status: "authorized";
603
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
604
+ } | {
605
+ readonly status: "unauthorized";
606
+ readonly requirement: {
607
+ readonly kind: "none";
608
+ } | {
609
+ readonly kind: "owner";
610
+ } | {
611
+ readonly kind: "operator-approval";
612
+ } | {
613
+ readonly kind: "token-approval";
614
+ } | {
615
+ readonly kind: "resolver-delegate";
616
+ } | {
617
+ readonly kind: "registry-role";
618
+ readonly roles: bigint;
619
+ readonly resource: bigint;
620
+ } | {
621
+ readonly kind: "resolver-role";
622
+ readonly roles: bigint;
623
+ readonly resource: bigint;
624
+ } | {
625
+ readonly kind: "wrapper-permission";
626
+ } | {
627
+ readonly kind: "unsupported";
628
+ };
629
+ } | {
630
+ readonly status: "unknown";
631
+ readonly reason: "CUSTOM_RESOLVER";
632
+ };
633
+ readonly requiredRole: bigint;
634
+ readonly resource: bigint | null;
635
+ }[];
636
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
637
+ declare const useRecordPermissionsSuspense: <Selected = {
638
+ readonly resolver: `0x${string}` | null;
639
+ readonly inherited: boolean;
640
+ readonly account: `0x${string}`;
641
+ readonly records: readonly {
642
+ readonly record: {
643
+ readonly type: "address";
644
+ readonly coinType: bigint;
645
+ } | {
646
+ readonly type: "text";
647
+ readonly key: string;
648
+ } | {
649
+ readonly type: "contentHash";
650
+ } | {
651
+ readonly type: "pubkey";
652
+ } | {
653
+ readonly type: "abi";
654
+ readonly contentType?: bigint | undefined;
655
+ } | {
656
+ readonly type: "interface";
657
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
658
+ } | {
659
+ readonly type: "name";
660
+ } | {
661
+ readonly type: "data";
662
+ readonly key: string;
663
+ } | {
664
+ readonly type: "alias";
665
+ } | {
666
+ readonly type: "dnsRecord";
667
+ } | {
668
+ readonly type: "dnsZone";
669
+ } | {
670
+ readonly type: "clear";
671
+ };
672
+ readonly supported: boolean;
673
+ readonly authorization: {
674
+ readonly status: "authorized";
675
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
676
+ } | {
677
+ readonly status: "unauthorized";
678
+ readonly requirement: {
679
+ readonly kind: "none";
680
+ } | {
681
+ readonly kind: "owner";
682
+ } | {
683
+ readonly kind: "operator-approval";
684
+ } | {
685
+ readonly kind: "token-approval";
686
+ } | {
687
+ readonly kind: "resolver-delegate";
688
+ } | {
689
+ readonly kind: "registry-role";
690
+ readonly roles: bigint;
691
+ readonly resource: bigint;
692
+ } | {
693
+ readonly kind: "resolver-role";
694
+ readonly roles: bigint;
695
+ readonly resource: bigint;
696
+ } | {
697
+ readonly kind: "wrapper-permission";
698
+ } | {
699
+ readonly kind: "unsupported";
700
+ };
701
+ } | {
702
+ readonly status: "unknown";
703
+ readonly reason: "CUSTOM_RESOLVER";
704
+ };
705
+ readonly requiredRole: bigint;
706
+ readonly resource: bigint | null;
707
+ }[];
708
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetRecordPermissionsParameters, {
709
+ readonly resolver: `0x${string}` | null;
710
+ readonly inherited: boolean;
711
+ readonly account: `0x${string}`;
712
+ readonly records: readonly {
713
+ readonly record: {
714
+ readonly type: "address";
715
+ readonly coinType: bigint;
716
+ } | {
717
+ readonly type: "text";
718
+ readonly key: string;
719
+ } | {
720
+ readonly type: "contentHash";
721
+ } | {
722
+ readonly type: "pubkey";
723
+ } | {
724
+ readonly type: "abi";
725
+ readonly contentType?: bigint | undefined;
726
+ } | {
727
+ readonly type: "interface";
728
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
729
+ } | {
730
+ readonly type: "name";
731
+ } | {
732
+ readonly type: "data";
733
+ readonly key: string;
734
+ } | {
735
+ readonly type: "alias";
736
+ } | {
737
+ readonly type: "dnsRecord";
738
+ } | {
739
+ readonly type: "dnsZone";
740
+ } | {
741
+ readonly type: "clear";
742
+ };
743
+ readonly supported: boolean;
744
+ readonly authorization: {
745
+ readonly status: "authorized";
746
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
747
+ } | {
748
+ readonly status: "unauthorized";
749
+ readonly requirement: {
750
+ readonly kind: "none";
751
+ } | {
752
+ readonly kind: "owner";
753
+ } | {
754
+ readonly kind: "operator-approval";
755
+ } | {
756
+ readonly kind: "token-approval";
757
+ } | {
758
+ readonly kind: "resolver-delegate";
759
+ } | {
760
+ readonly kind: "registry-role";
761
+ readonly roles: bigint;
762
+ readonly resource: bigint;
763
+ } | {
764
+ readonly kind: "resolver-role";
765
+ readonly roles: bigint;
766
+ readonly resource: bigint;
767
+ } | {
768
+ readonly kind: "wrapper-permission";
769
+ } | {
770
+ readonly kind: "unsupported";
771
+ };
772
+ } | {
773
+ readonly status: "unknown";
774
+ readonly reason: "CUSTOM_RESOLVER";
775
+ };
776
+ readonly requiredRole: bigint;
777
+ readonly resource: bigint | null;
778
+ }[];
779
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
780
+ declare const useRegistryCapabilities: <Selected = {
781
+ readonly address: `0x${string}`;
782
+ readonly protocol: "v1" | "v2";
783
+ readonly kind: "registry" | "name-wrapper" | "permissioned-registry" | "wrapper-registry";
784
+ readonly owned: boolean;
785
+ readonly permissioned: boolean;
786
+ readonly temporal: boolean;
787
+ readonly tokenized: boolean;
788
+ readonly wrapped: boolean;
789
+ readonly setOwner: boolean;
790
+ readonly setResolver: boolean;
791
+ readonly createSubname: boolean;
792
+ readonly transfer: boolean;
793
+ readonly setExpiry: boolean;
794
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetRegistryCapabilitiesParameters, {
795
+ readonly address: `0x${string}`;
796
+ readonly protocol: "v1" | "v2";
797
+ readonly kind: "registry" | "name-wrapper" | "permissioned-registry" | "wrapper-registry";
798
+ readonly owned: boolean;
799
+ readonly permissioned: boolean;
800
+ readonly temporal: boolean;
801
+ readonly tokenized: boolean;
802
+ readonly wrapped: boolean;
803
+ readonly setOwner: boolean;
804
+ readonly setResolver: boolean;
805
+ readonly createSubname: boolean;
806
+ readonly transfer: boolean;
807
+ readonly setExpiry: boolean;
808
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
809
+ declare const useRegistryCapabilitiesSuspense: <Selected = {
810
+ readonly address: `0x${string}`;
811
+ readonly protocol: "v1" | "v2";
812
+ readonly kind: "registry" | "name-wrapper" | "permissioned-registry" | "wrapper-registry";
813
+ readonly owned: boolean;
814
+ readonly permissioned: boolean;
815
+ readonly temporal: boolean;
816
+ readonly tokenized: boolean;
817
+ readonly wrapped: boolean;
818
+ readonly setOwner: boolean;
819
+ readonly setResolver: boolean;
820
+ readonly createSubname: boolean;
821
+ readonly transfer: boolean;
822
+ readonly setExpiry: boolean;
823
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetRegistryCapabilitiesParameters, {
824
+ readonly address: `0x${string}`;
825
+ readonly protocol: "v1" | "v2";
826
+ readonly kind: "registry" | "name-wrapper" | "permissioned-registry" | "wrapper-registry";
827
+ readonly owned: boolean;
828
+ readonly permissioned: boolean;
829
+ readonly temporal: boolean;
830
+ readonly tokenized: boolean;
831
+ readonly wrapped: boolean;
832
+ readonly setOwner: boolean;
833
+ readonly setResolver: boolean;
834
+ readonly createSubname: boolean;
835
+ readonly transfer: boolean;
836
+ readonly setExpiry: boolean;
837
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
838
+ declare const useRegistryRoles: <Selected = {
839
+ readonly supported: false;
840
+ readonly protocol: "v1" | "v2";
841
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
842
+ } | {
843
+ readonly supported: true;
844
+ readonly protocol: "v2";
845
+ readonly registry: `0x${string}`;
846
+ readonly resource: bigint;
847
+ readonly account: `0x${string}`;
848
+ readonly roles: bigint;
849
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetRegistryRolesParameters, {
850
+ readonly supported: false;
851
+ readonly protocol: "v1" | "v2";
852
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
853
+ } | {
854
+ readonly supported: true;
855
+ readonly protocol: "v2";
856
+ readonly registry: `0x${string}`;
857
+ readonly resource: bigint;
858
+ readonly account: `0x${string}`;
859
+ readonly roles: bigint;
860
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
861
+ declare const useRegistryRolesSuspense: <Selected = {
862
+ readonly supported: false;
863
+ readonly protocol: "v1" | "v2";
864
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
865
+ } | {
866
+ readonly supported: true;
867
+ readonly protocol: "v2";
868
+ readonly registry: `0x${string}`;
869
+ readonly resource: bigint;
870
+ readonly account: `0x${string}`;
871
+ readonly roles: bigint;
872
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetRegistryRolesParameters, {
873
+ readonly supported: false;
874
+ readonly protocol: "v1" | "v2";
875
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
876
+ } | {
877
+ readonly supported: true;
878
+ readonly protocol: "v2";
879
+ readonly registry: `0x${string}`;
880
+ readonly resource: bigint;
881
+ readonly account: `0x${string}`;
882
+ readonly roles: bigint;
883
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
884
+ declare const useRequiredAuthorization: <Selected = {
885
+ readonly account: `0x${string}`;
886
+ readonly operation: {
887
+ readonly type: "address";
888
+ readonly coinType: bigint;
889
+ } | {
890
+ readonly type: "text";
891
+ readonly key: string;
892
+ } | {
893
+ readonly type: "contentHash";
894
+ } | {
895
+ readonly type: "pubkey";
896
+ } | {
897
+ readonly type: "abi";
898
+ readonly contentType?: bigint | undefined;
899
+ } | {
900
+ readonly type: "interface";
901
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
902
+ } | {
903
+ readonly type: "name";
904
+ } | {
905
+ readonly type: "data";
906
+ readonly key: string;
907
+ } | {
908
+ readonly type: "alias";
909
+ } | {
910
+ readonly type: "dnsRecord";
911
+ } | {
912
+ readonly type: "dnsZone";
913
+ } | {
914
+ readonly type: "clear";
915
+ } | {
916
+ readonly type: "setOwner";
917
+ } | {
918
+ readonly type: "setTtl";
919
+ } | {
920
+ readonly type: "setResolver";
921
+ } | {
922
+ readonly type: "createSubname";
923
+ } | {
924
+ readonly type: "transfer";
925
+ } | {
926
+ readonly type: "setExpiry";
927
+ };
928
+ readonly target: {
929
+ readonly available: false;
930
+ readonly protocol: "v1" | "v2";
931
+ readonly reason: "NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED";
932
+ } | {
933
+ readonly available: true;
934
+ readonly protocol: "v1" | "v2";
935
+ readonly kind: "resolver" | "registrar" | "registry" | "name-wrapper" | "wrapper-registry";
936
+ readonly address: `0x${string}`;
937
+ readonly operation: {
938
+ readonly type: "address";
939
+ readonly coinType: bigint;
940
+ } | {
941
+ readonly type: "text";
942
+ readonly key: string;
943
+ } | {
944
+ readonly type: "contentHash";
945
+ } | {
946
+ readonly type: "pubkey";
947
+ } | {
948
+ readonly type: "abi";
949
+ readonly contentType?: bigint | undefined;
950
+ } | {
951
+ readonly type: "interface";
952
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
953
+ } | {
954
+ readonly type: "name";
955
+ } | {
956
+ readonly type: "data";
957
+ readonly key: string;
958
+ } | {
959
+ readonly type: "alias";
960
+ } | {
961
+ readonly type: "dnsRecord";
962
+ } | {
963
+ readonly type: "dnsZone";
964
+ } | {
965
+ readonly type: "clear";
966
+ } | {
967
+ readonly type: "setOwner";
968
+ } | {
969
+ readonly type: "setTtl";
970
+ } | {
971
+ readonly type: "setResolver";
972
+ } | {
973
+ readonly type: "createSubname";
974
+ } | {
975
+ readonly type: "transfer";
976
+ } | {
977
+ readonly type: "setExpiry";
978
+ };
979
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
980
+ readonly tokenId: bigint | null;
981
+ readonly resource: bigint | null;
982
+ readonly inheritedResolver: boolean;
983
+ };
984
+ readonly authorization: {
985
+ readonly status: "authorized";
986
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
987
+ } | {
988
+ readonly status: "unauthorized";
989
+ readonly requirement: {
990
+ readonly kind: "none";
991
+ } | {
992
+ readonly kind: "owner";
993
+ } | {
994
+ readonly kind: "operator-approval";
995
+ } | {
996
+ readonly kind: "token-approval";
997
+ } | {
998
+ readonly kind: "resolver-delegate";
999
+ } | {
1000
+ readonly kind: "registry-role";
1001
+ readonly roles: bigint;
1002
+ readonly resource: bigint;
1003
+ } | {
1004
+ readonly kind: "resolver-role";
1005
+ readonly roles: bigint;
1006
+ readonly resource: bigint;
1007
+ } | {
1008
+ readonly kind: "wrapper-permission";
1009
+ } | {
1010
+ readonly kind: "unsupported";
1011
+ };
1012
+ } | {
1013
+ readonly status: "unknown";
1014
+ readonly reason: "CUSTOM_RESOLVER";
1015
+ };
1016
+ readonly blockers: readonly ("NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED" | "WRAPPER_FUSE" | "TRANSFER_ROLE")[];
1017
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetRequiredAuthorizationParameters, {
1018
+ readonly account: `0x${string}`;
1019
+ readonly operation: {
1020
+ readonly type: "address";
1021
+ readonly coinType: bigint;
1022
+ } | {
1023
+ readonly type: "text";
1024
+ readonly key: string;
1025
+ } | {
1026
+ readonly type: "contentHash";
1027
+ } | {
1028
+ readonly type: "pubkey";
1029
+ } | {
1030
+ readonly type: "abi";
1031
+ readonly contentType?: bigint | undefined;
1032
+ } | {
1033
+ readonly type: "interface";
1034
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1035
+ } | {
1036
+ readonly type: "name";
1037
+ } | {
1038
+ readonly type: "data";
1039
+ readonly key: string;
1040
+ } | {
1041
+ readonly type: "alias";
1042
+ } | {
1043
+ readonly type: "dnsRecord";
1044
+ } | {
1045
+ readonly type: "dnsZone";
1046
+ } | {
1047
+ readonly type: "clear";
1048
+ } | {
1049
+ readonly type: "setOwner";
1050
+ } | {
1051
+ readonly type: "setTtl";
1052
+ } | {
1053
+ readonly type: "setResolver";
1054
+ } | {
1055
+ readonly type: "createSubname";
1056
+ } | {
1057
+ readonly type: "transfer";
1058
+ } | {
1059
+ readonly type: "setExpiry";
1060
+ };
1061
+ readonly target: {
1062
+ readonly available: false;
1063
+ readonly protocol: "v1" | "v2";
1064
+ readonly reason: "NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED";
1065
+ } | {
1066
+ readonly available: true;
1067
+ readonly protocol: "v1" | "v2";
1068
+ readonly kind: "resolver" | "registrar" | "registry" | "name-wrapper" | "wrapper-registry";
1069
+ readonly address: `0x${string}`;
1070
+ readonly operation: {
1071
+ readonly type: "address";
1072
+ readonly coinType: bigint;
1073
+ } | {
1074
+ readonly type: "text";
1075
+ readonly key: string;
1076
+ } | {
1077
+ readonly type: "contentHash";
1078
+ } | {
1079
+ readonly type: "pubkey";
1080
+ } | {
1081
+ readonly type: "abi";
1082
+ readonly contentType?: bigint | undefined;
1083
+ } | {
1084
+ readonly type: "interface";
1085
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1086
+ } | {
1087
+ readonly type: "name";
1088
+ } | {
1089
+ readonly type: "data";
1090
+ readonly key: string;
1091
+ } | {
1092
+ readonly type: "alias";
1093
+ } | {
1094
+ readonly type: "dnsRecord";
1095
+ } | {
1096
+ readonly type: "dnsZone";
1097
+ } | {
1098
+ readonly type: "clear";
1099
+ } | {
1100
+ readonly type: "setOwner";
1101
+ } | {
1102
+ readonly type: "setTtl";
1103
+ } | {
1104
+ readonly type: "setResolver";
1105
+ } | {
1106
+ readonly type: "createSubname";
1107
+ } | {
1108
+ readonly type: "transfer";
1109
+ } | {
1110
+ readonly type: "setExpiry";
1111
+ };
1112
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1113
+ readonly tokenId: bigint | null;
1114
+ readonly resource: bigint | null;
1115
+ readonly inheritedResolver: boolean;
1116
+ };
1117
+ readonly authorization: {
1118
+ readonly status: "authorized";
1119
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
1120
+ } | {
1121
+ readonly status: "unauthorized";
1122
+ readonly requirement: {
1123
+ readonly kind: "none";
1124
+ } | {
1125
+ readonly kind: "owner";
1126
+ } | {
1127
+ readonly kind: "operator-approval";
1128
+ } | {
1129
+ readonly kind: "token-approval";
1130
+ } | {
1131
+ readonly kind: "resolver-delegate";
1132
+ } | {
1133
+ readonly kind: "registry-role";
1134
+ readonly roles: bigint;
1135
+ readonly resource: bigint;
1136
+ } | {
1137
+ readonly kind: "resolver-role";
1138
+ readonly roles: bigint;
1139
+ readonly resource: bigint;
1140
+ } | {
1141
+ readonly kind: "wrapper-permission";
1142
+ } | {
1143
+ readonly kind: "unsupported";
1144
+ };
1145
+ } | {
1146
+ readonly status: "unknown";
1147
+ readonly reason: "CUSTOM_RESOLVER";
1148
+ };
1149
+ readonly blockers: readonly ("NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED" | "WRAPPER_FUSE" | "TRANSFER_ROLE")[];
1150
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
1151
+ declare const useRequiredAuthorizationSuspense: <Selected = {
1152
+ readonly account: `0x${string}`;
1153
+ readonly operation: {
1154
+ readonly type: "address";
1155
+ readonly coinType: bigint;
1156
+ } | {
1157
+ readonly type: "text";
1158
+ readonly key: string;
1159
+ } | {
1160
+ readonly type: "contentHash";
1161
+ } | {
1162
+ readonly type: "pubkey";
1163
+ } | {
1164
+ readonly type: "abi";
1165
+ readonly contentType?: bigint | undefined;
1166
+ } | {
1167
+ readonly type: "interface";
1168
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1169
+ } | {
1170
+ readonly type: "name";
1171
+ } | {
1172
+ readonly type: "data";
1173
+ readonly key: string;
1174
+ } | {
1175
+ readonly type: "alias";
1176
+ } | {
1177
+ readonly type: "dnsRecord";
1178
+ } | {
1179
+ readonly type: "dnsZone";
1180
+ } | {
1181
+ readonly type: "clear";
1182
+ } | {
1183
+ readonly type: "setOwner";
1184
+ } | {
1185
+ readonly type: "setTtl";
1186
+ } | {
1187
+ readonly type: "setResolver";
1188
+ } | {
1189
+ readonly type: "createSubname";
1190
+ } | {
1191
+ readonly type: "transfer";
1192
+ } | {
1193
+ readonly type: "setExpiry";
1194
+ };
1195
+ readonly target: {
1196
+ readonly available: false;
1197
+ readonly protocol: "v1" | "v2";
1198
+ readonly reason: "NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED";
1199
+ } | {
1200
+ readonly available: true;
1201
+ readonly protocol: "v1" | "v2";
1202
+ readonly kind: "resolver" | "registrar" | "registry" | "name-wrapper" | "wrapper-registry";
1203
+ readonly address: `0x${string}`;
1204
+ readonly operation: {
1205
+ readonly type: "address";
1206
+ readonly coinType: bigint;
1207
+ } | {
1208
+ readonly type: "text";
1209
+ readonly key: string;
1210
+ } | {
1211
+ readonly type: "contentHash";
1212
+ } | {
1213
+ readonly type: "pubkey";
1214
+ } | {
1215
+ readonly type: "abi";
1216
+ readonly contentType?: bigint | undefined;
1217
+ } | {
1218
+ readonly type: "interface";
1219
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1220
+ } | {
1221
+ readonly type: "name";
1222
+ } | {
1223
+ readonly type: "data";
1224
+ readonly key: string;
1225
+ } | {
1226
+ readonly type: "alias";
1227
+ } | {
1228
+ readonly type: "dnsRecord";
1229
+ } | {
1230
+ readonly type: "dnsZone";
1231
+ } | {
1232
+ readonly type: "clear";
1233
+ } | {
1234
+ readonly type: "setOwner";
1235
+ } | {
1236
+ readonly type: "setTtl";
1237
+ } | {
1238
+ readonly type: "setResolver";
1239
+ } | {
1240
+ readonly type: "createSubname";
1241
+ } | {
1242
+ readonly type: "transfer";
1243
+ } | {
1244
+ readonly type: "setExpiry";
1245
+ };
1246
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1247
+ readonly tokenId: bigint | null;
1248
+ readonly resource: bigint | null;
1249
+ readonly inheritedResolver: boolean;
1250
+ };
1251
+ readonly authorization: {
1252
+ readonly status: "authorized";
1253
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
1254
+ } | {
1255
+ readonly status: "unauthorized";
1256
+ readonly requirement: {
1257
+ readonly kind: "none";
1258
+ } | {
1259
+ readonly kind: "owner";
1260
+ } | {
1261
+ readonly kind: "operator-approval";
1262
+ } | {
1263
+ readonly kind: "token-approval";
1264
+ } | {
1265
+ readonly kind: "resolver-delegate";
1266
+ } | {
1267
+ readonly kind: "registry-role";
1268
+ readonly roles: bigint;
1269
+ readonly resource: bigint;
1270
+ } | {
1271
+ readonly kind: "resolver-role";
1272
+ readonly roles: bigint;
1273
+ readonly resource: bigint;
1274
+ } | {
1275
+ readonly kind: "wrapper-permission";
1276
+ } | {
1277
+ readonly kind: "unsupported";
1278
+ };
1279
+ } | {
1280
+ readonly status: "unknown";
1281
+ readonly reason: "CUSTOM_RESOLVER";
1282
+ };
1283
+ readonly blockers: readonly ("NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED" | "WRAPPER_FUSE" | "TRANSFER_ROLE")[];
1284
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetRequiredAuthorizationParameters, {
1285
+ readonly account: `0x${string}`;
1286
+ readonly operation: {
1287
+ readonly type: "address";
1288
+ readonly coinType: bigint;
1289
+ } | {
1290
+ readonly type: "text";
1291
+ readonly key: string;
1292
+ } | {
1293
+ readonly type: "contentHash";
1294
+ } | {
1295
+ readonly type: "pubkey";
1296
+ } | {
1297
+ readonly type: "abi";
1298
+ readonly contentType?: bigint | undefined;
1299
+ } | {
1300
+ readonly type: "interface";
1301
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1302
+ } | {
1303
+ readonly type: "name";
1304
+ } | {
1305
+ readonly type: "data";
1306
+ readonly key: string;
1307
+ } | {
1308
+ readonly type: "alias";
1309
+ } | {
1310
+ readonly type: "dnsRecord";
1311
+ } | {
1312
+ readonly type: "dnsZone";
1313
+ } | {
1314
+ readonly type: "clear";
1315
+ } | {
1316
+ readonly type: "setOwner";
1317
+ } | {
1318
+ readonly type: "setTtl";
1319
+ } | {
1320
+ readonly type: "setResolver";
1321
+ } | {
1322
+ readonly type: "createSubname";
1323
+ } | {
1324
+ readonly type: "transfer";
1325
+ } | {
1326
+ readonly type: "setExpiry";
1327
+ };
1328
+ readonly target: {
1329
+ readonly available: false;
1330
+ readonly protocol: "v1" | "v2";
1331
+ readonly reason: "NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED";
1332
+ } | {
1333
+ readonly available: true;
1334
+ readonly protocol: "v1" | "v2";
1335
+ readonly kind: "resolver" | "registrar" | "registry" | "name-wrapper" | "wrapper-registry";
1336
+ readonly address: `0x${string}`;
1337
+ readonly operation: {
1338
+ readonly type: "address";
1339
+ readonly coinType: bigint;
1340
+ } | {
1341
+ readonly type: "text";
1342
+ readonly key: string;
1343
+ } | {
1344
+ readonly type: "contentHash";
1345
+ } | {
1346
+ readonly type: "pubkey";
1347
+ } | {
1348
+ readonly type: "abi";
1349
+ readonly contentType?: bigint | undefined;
1350
+ } | {
1351
+ readonly type: "interface";
1352
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1353
+ } | {
1354
+ readonly type: "name";
1355
+ } | {
1356
+ readonly type: "data";
1357
+ readonly key: string;
1358
+ } | {
1359
+ readonly type: "alias";
1360
+ } | {
1361
+ readonly type: "dnsRecord";
1362
+ } | {
1363
+ readonly type: "dnsZone";
1364
+ } | {
1365
+ readonly type: "clear";
1366
+ } | {
1367
+ readonly type: "setOwner";
1368
+ } | {
1369
+ readonly type: "setTtl";
1370
+ } | {
1371
+ readonly type: "setResolver";
1372
+ } | {
1373
+ readonly type: "createSubname";
1374
+ } | {
1375
+ readonly type: "transfer";
1376
+ } | {
1377
+ readonly type: "setExpiry";
1378
+ };
1379
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1380
+ readonly tokenId: bigint | null;
1381
+ readonly resource: bigint | null;
1382
+ readonly inheritedResolver: boolean;
1383
+ };
1384
+ readonly authorization: {
1385
+ readonly status: "authorized";
1386
+ readonly source: "owner" | "operator-approval" | "token-approval" | "resolver-delegate" | "registry-role" | "resolver-role" | "wrapper-permission";
1387
+ } | {
1388
+ readonly status: "unauthorized";
1389
+ readonly requirement: {
1390
+ readonly kind: "none";
1391
+ } | {
1392
+ readonly kind: "owner";
1393
+ } | {
1394
+ readonly kind: "operator-approval";
1395
+ } | {
1396
+ readonly kind: "token-approval";
1397
+ } | {
1398
+ readonly kind: "resolver-delegate";
1399
+ } | {
1400
+ readonly kind: "registry-role";
1401
+ readonly roles: bigint;
1402
+ readonly resource: bigint;
1403
+ } | {
1404
+ readonly kind: "resolver-role";
1405
+ readonly roles: bigint;
1406
+ readonly resource: bigint;
1407
+ } | {
1408
+ readonly kind: "wrapper-permission";
1409
+ } | {
1410
+ readonly kind: "unsupported";
1411
+ };
1412
+ } | {
1413
+ readonly status: "unknown";
1414
+ readonly reason: "CUSTOM_RESOLVER";
1415
+ };
1416
+ readonly blockers: readonly ("NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED" | "WRAPPER_FUSE" | "TRANSFER_ROLE")[];
1417
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
1418
+ declare const useResolverCapabilities: <Selected = {
1419
+ readonly address: `0x${string}` | null;
1420
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1421
+ readonly inherited: boolean;
1422
+ readonly extended: boolean;
1423
+ readonly permissioned: boolean;
1424
+ readonly authorization: "unknown" | "none" | "owner-delegate" | "role";
1425
+ readonly profiles: {
1426
+ readonly address: boolean;
1427
+ readonly text: boolean;
1428
+ readonly contentHash: boolean;
1429
+ readonly abi: boolean;
1430
+ readonly pubkey: boolean;
1431
+ readonly interface: boolean;
1432
+ readonly name: boolean;
1433
+ readonly data: boolean;
1434
+ readonly dnsRecord: boolean;
1435
+ readonly dnsZone: boolean;
1436
+ };
1437
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetRegistryCapabilitiesParameters, {
1438
+ readonly address: `0x${string}` | null;
1439
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1440
+ readonly inherited: boolean;
1441
+ readonly extended: boolean;
1442
+ readonly permissioned: boolean;
1443
+ readonly authorization: "unknown" | "none" | "owner-delegate" | "role";
1444
+ readonly profiles: {
1445
+ readonly address: boolean;
1446
+ readonly text: boolean;
1447
+ readonly contentHash: boolean;
1448
+ readonly abi: boolean;
1449
+ readonly pubkey: boolean;
1450
+ readonly interface: boolean;
1451
+ readonly name: boolean;
1452
+ readonly data: boolean;
1453
+ readonly dnsRecord: boolean;
1454
+ readonly dnsZone: boolean;
1455
+ };
1456
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
1457
+ declare const useResolverCapabilitiesSuspense: <Selected = {
1458
+ readonly address: `0x${string}` | null;
1459
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1460
+ readonly inherited: boolean;
1461
+ readonly extended: boolean;
1462
+ readonly permissioned: boolean;
1463
+ readonly authorization: "unknown" | "none" | "owner-delegate" | "role";
1464
+ readonly profiles: {
1465
+ readonly address: boolean;
1466
+ readonly text: boolean;
1467
+ readonly contentHash: boolean;
1468
+ readonly abi: boolean;
1469
+ readonly pubkey: boolean;
1470
+ readonly interface: boolean;
1471
+ readonly name: boolean;
1472
+ readonly data: boolean;
1473
+ readonly dnsRecord: boolean;
1474
+ readonly dnsZone: boolean;
1475
+ };
1476
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetRegistryCapabilitiesParameters, {
1477
+ readonly address: `0x${string}` | null;
1478
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1479
+ readonly inherited: boolean;
1480
+ readonly extended: boolean;
1481
+ readonly permissioned: boolean;
1482
+ readonly authorization: "unknown" | "none" | "owner-delegate" | "role";
1483
+ readonly profiles: {
1484
+ readonly address: boolean;
1485
+ readonly text: boolean;
1486
+ readonly contentHash: boolean;
1487
+ readonly abi: boolean;
1488
+ readonly pubkey: boolean;
1489
+ readonly interface: boolean;
1490
+ readonly name: boolean;
1491
+ readonly data: boolean;
1492
+ readonly dnsRecord: boolean;
1493
+ readonly dnsZone: boolean;
1494
+ };
1495
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
1496
+ declare const useResolverDelegateApproval: <Selected = {
1497
+ readonly supported: false;
1498
+ readonly protocol: "v1" | "v2";
1499
+ readonly reason: "RESOLVER_NOT_FOUND" | "DELEGATE_APPROVAL_UNSUPPORTED";
1500
+ } | {
1501
+ readonly supported: true;
1502
+ readonly protocol: "v1" | "v2";
1503
+ readonly resolver: `0x${string}`;
1504
+ readonly owner: `0x${string}`;
1505
+ readonly delegate: `0x${string}`;
1506
+ readonly approved: boolean;
1507
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetResolverDelegateApprovalParameters, {
1508
+ readonly supported: false;
1509
+ readonly protocol: "v1" | "v2";
1510
+ readonly reason: "RESOLVER_NOT_FOUND" | "DELEGATE_APPROVAL_UNSUPPORTED";
1511
+ } | {
1512
+ readonly supported: true;
1513
+ readonly protocol: "v1" | "v2";
1514
+ readonly resolver: `0x${string}`;
1515
+ readonly owner: `0x${string}`;
1516
+ readonly delegate: `0x${string}`;
1517
+ readonly approved: boolean;
1518
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
1519
+ declare const useResolverDelegateApprovalSuspense: <Selected = {
1520
+ readonly supported: false;
1521
+ readonly protocol: "v1" | "v2";
1522
+ readonly reason: "RESOLVER_NOT_FOUND" | "DELEGATE_APPROVAL_UNSUPPORTED";
1523
+ } | {
1524
+ readonly supported: true;
1525
+ readonly protocol: "v1" | "v2";
1526
+ readonly resolver: `0x${string}`;
1527
+ readonly owner: `0x${string}`;
1528
+ readonly delegate: `0x${string}`;
1529
+ readonly approved: boolean;
1530
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetResolverDelegateApprovalParameters, {
1531
+ readonly supported: false;
1532
+ readonly protocol: "v1" | "v2";
1533
+ readonly reason: "RESOLVER_NOT_FOUND" | "DELEGATE_APPROVAL_UNSUPPORTED";
1534
+ } | {
1535
+ readonly supported: true;
1536
+ readonly protocol: "v1" | "v2";
1537
+ readonly resolver: `0x${string}`;
1538
+ readonly owner: `0x${string}`;
1539
+ readonly delegate: `0x${string}`;
1540
+ readonly approved: boolean;
1541
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
1542
+ declare const useResolverRoles: <Selected = {
1543
+ readonly supported: false;
1544
+ readonly protocol: "v1" | "v2";
1545
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
1546
+ } | {
1547
+ readonly supported: true;
1548
+ readonly protocol: "v2";
1549
+ readonly resolver: `0x${string}`;
1550
+ readonly resource: bigint;
1551
+ readonly account: `0x${string}`;
1552
+ readonly roles: bigint;
1553
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetResolverRolesParameters, {
1554
+ readonly supported: false;
1555
+ readonly protocol: "v1" | "v2";
1556
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
1557
+ } | {
1558
+ readonly supported: true;
1559
+ readonly protocol: "v2";
1560
+ readonly resolver: `0x${string}`;
1561
+ readonly resource: bigint;
1562
+ readonly account: `0x${string}`;
1563
+ readonly roles: bigint;
1564
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
1565
+ declare const useResolverRolesSuspense: <Selected = {
1566
+ readonly supported: false;
1567
+ readonly protocol: "v1" | "v2";
1568
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
1569
+ } | {
1570
+ readonly supported: true;
1571
+ readonly protocol: "v2";
1572
+ readonly resolver: `0x${string}`;
1573
+ readonly resource: bigint;
1574
+ readonly account: `0x${string}`;
1575
+ readonly roles: bigint;
1576
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetResolverRolesParameters, {
1577
+ readonly supported: false;
1578
+ readonly protocol: "v1" | "v2";
1579
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
1580
+ } | {
1581
+ readonly supported: true;
1582
+ readonly protocol: "v2";
1583
+ readonly resolver: `0x${string}`;
1584
+ readonly resource: bigint;
1585
+ readonly account: `0x${string}`;
1586
+ readonly roles: bigint;
1587
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
1588
+ declare const useTokenApproval: <Selected = {
1589
+ readonly supported: false;
1590
+ readonly protocol: "v1" | "v2";
1591
+ readonly reason: "PER_TOKEN_APPROVAL_UNSUPPORTED" | "NAME_NOT_TOKENIZED";
1592
+ } | {
1593
+ readonly supported: true;
1594
+ readonly protocol: "v1";
1595
+ readonly kind: "registrar" | "name-wrapper";
1596
+ readonly contract: `0x${string}`;
1597
+ readonly tokenId: bigint;
1598
+ readonly approved: `0x${string}` | null;
1599
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetRegistryCapabilitiesParameters, {
1600
+ readonly supported: false;
1601
+ readonly protocol: "v1" | "v2";
1602
+ readonly reason: "PER_TOKEN_APPROVAL_UNSUPPORTED" | "NAME_NOT_TOKENIZED";
1603
+ } | {
1604
+ readonly supported: true;
1605
+ readonly protocol: "v1";
1606
+ readonly kind: "registrar" | "name-wrapper";
1607
+ readonly contract: `0x${string}`;
1608
+ readonly tokenId: bigint;
1609
+ readonly approved: `0x${string}` | null;
1610
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
1611
+ declare const useTokenApprovalSuspense: <Selected = {
1612
+ readonly supported: false;
1613
+ readonly protocol: "v1" | "v2";
1614
+ readonly reason: "PER_TOKEN_APPROVAL_UNSUPPORTED" | "NAME_NOT_TOKENIZED";
1615
+ } | {
1616
+ readonly supported: true;
1617
+ readonly protocol: "v1";
1618
+ readonly kind: "registrar" | "name-wrapper";
1619
+ readonly contract: `0x${string}`;
1620
+ readonly tokenId: bigint;
1621
+ readonly approved: `0x${string}` | null;
1622
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetRegistryCapabilitiesParameters, {
1623
+ readonly supported: false;
1624
+ readonly protocol: "v1" | "v2";
1625
+ readonly reason: "PER_TOKEN_APPROVAL_UNSUPPORTED" | "NAME_NOT_TOKENIZED";
1626
+ } | {
1627
+ readonly supported: true;
1628
+ readonly protocol: "v1";
1629
+ readonly kind: "registrar" | "name-wrapper";
1630
+ readonly contract: `0x${string}`;
1631
+ readonly tokenId: bigint;
1632
+ readonly approved: `0x${string}` | null;
1633
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
1634
+ declare const useWrapperPermissions: <Selected = {
1635
+ readonly supported: false;
1636
+ readonly protocol: "v1" | "v2";
1637
+ readonly reason: "NAME_NOT_WRAPPED";
1638
+ } | {
1639
+ readonly supported: true;
1640
+ readonly protocol: "v1";
1641
+ readonly wrapper: `0x${string}`;
1642
+ readonly account: `0x${string}`;
1643
+ readonly owner: `0x${string}`;
1644
+ readonly tokenId: bigint;
1645
+ readonly fuses: number;
1646
+ readonly expiry: bigint;
1647
+ readonly approved: `0x${string}` | null;
1648
+ readonly operatorApproved: boolean;
1649
+ readonly canModify: boolean;
1650
+ readonly canExtendSubnames: boolean;
1651
+ readonly canUnwrap: boolean;
1652
+ readonly canTransfer: boolean;
1653
+ readonly canSetResolver: boolean;
1654
+ readonly canSetTtl: boolean;
1655
+ readonly canCreateSubname: boolean;
1656
+ readonly canApprove: boolean;
1657
+ } | {
1658
+ readonly supported: true;
1659
+ readonly protocol: "v2";
1660
+ readonly wrapper: `0x${string}`;
1661
+ readonly account: `0x${string}`;
1662
+ readonly resource: bigint;
1663
+ readonly roles: bigint;
1664
+ readonly operatorApproved: boolean;
1665
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetRegistryRolesParameters, {
1666
+ readonly supported: false;
1667
+ readonly protocol: "v1" | "v2";
1668
+ readonly reason: "NAME_NOT_WRAPPED";
1669
+ } | {
1670
+ readonly supported: true;
1671
+ readonly protocol: "v1";
1672
+ readonly wrapper: `0x${string}`;
1673
+ readonly account: `0x${string}`;
1674
+ readonly owner: `0x${string}`;
1675
+ readonly tokenId: bigint;
1676
+ readonly fuses: number;
1677
+ readonly expiry: bigint;
1678
+ readonly approved: `0x${string}` | null;
1679
+ readonly operatorApproved: boolean;
1680
+ readonly canModify: boolean;
1681
+ readonly canExtendSubnames: boolean;
1682
+ readonly canUnwrap: boolean;
1683
+ readonly canTransfer: boolean;
1684
+ readonly canSetResolver: boolean;
1685
+ readonly canSetTtl: boolean;
1686
+ readonly canCreateSubname: boolean;
1687
+ readonly canApprove: boolean;
1688
+ } | {
1689
+ readonly supported: true;
1690
+ readonly protocol: "v2";
1691
+ readonly wrapper: `0x${string}`;
1692
+ readonly account: `0x${string}`;
1693
+ readonly resource: bigint;
1694
+ readonly roles: bigint;
1695
+ readonly operatorApproved: boolean;
1696
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
1697
+ declare const useWrapperPermissionsSuspense: <Selected = {
1698
+ readonly supported: false;
1699
+ readonly protocol: "v1" | "v2";
1700
+ readonly reason: "NAME_NOT_WRAPPED";
1701
+ } | {
1702
+ readonly supported: true;
1703
+ readonly protocol: "v1";
1704
+ readonly wrapper: `0x${string}`;
1705
+ readonly account: `0x${string}`;
1706
+ readonly owner: `0x${string}`;
1707
+ readonly tokenId: bigint;
1708
+ readonly fuses: number;
1709
+ readonly expiry: bigint;
1710
+ readonly approved: `0x${string}` | null;
1711
+ readonly operatorApproved: boolean;
1712
+ readonly canModify: boolean;
1713
+ readonly canExtendSubnames: boolean;
1714
+ readonly canUnwrap: boolean;
1715
+ readonly canTransfer: boolean;
1716
+ readonly canSetResolver: boolean;
1717
+ readonly canSetTtl: boolean;
1718
+ readonly canCreateSubname: boolean;
1719
+ readonly canApprove: boolean;
1720
+ } | {
1721
+ readonly supported: true;
1722
+ readonly protocol: "v2";
1723
+ readonly wrapper: `0x${string}`;
1724
+ readonly account: `0x${string}`;
1725
+ readonly resource: bigint;
1726
+ readonly roles: bigint;
1727
+ readonly operatorApproved: boolean;
1728
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetRegistryRolesParameters, {
1729
+ readonly supported: false;
1730
+ readonly protocol: "v1" | "v2";
1731
+ readonly reason: "NAME_NOT_WRAPPED";
1732
+ } | {
1733
+ readonly supported: true;
1734
+ readonly protocol: "v1";
1735
+ readonly wrapper: `0x${string}`;
1736
+ readonly account: `0x${string}`;
1737
+ readonly owner: `0x${string}`;
1738
+ readonly tokenId: bigint;
1739
+ readonly fuses: number;
1740
+ readonly expiry: bigint;
1741
+ readonly approved: `0x${string}` | null;
1742
+ readonly operatorApproved: boolean;
1743
+ readonly canModify: boolean;
1744
+ readonly canExtendSubnames: boolean;
1745
+ readonly canUnwrap: boolean;
1746
+ readonly canTransfer: boolean;
1747
+ readonly canSetResolver: boolean;
1748
+ readonly canSetTtl: boolean;
1749
+ readonly canCreateSubname: boolean;
1750
+ readonly canApprove: boolean;
1751
+ } | {
1752
+ readonly supported: true;
1753
+ readonly protocol: "v2";
1754
+ readonly wrapper: `0x${string}`;
1755
+ readonly account: `0x${string}`;
1756
+ readonly resource: bigint;
1757
+ readonly roles: bigint;
1758
+ readonly operatorApproved: boolean;
1759
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
1760
+ declare const useWriteTarget: <Selected = {
1761
+ readonly available: false;
1762
+ readonly protocol: "v1" | "v2";
1763
+ readonly reason: "NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED";
1764
+ } | {
1765
+ readonly available: true;
1766
+ readonly protocol: "v1" | "v2";
1767
+ readonly kind: "resolver" | "registrar" | "registry" | "name-wrapper" | "wrapper-registry";
1768
+ readonly address: `0x${string}`;
1769
+ readonly operation: {
1770
+ readonly type: "address";
1771
+ readonly coinType: bigint;
1772
+ } | {
1773
+ readonly type: "text";
1774
+ readonly key: string;
1775
+ } | {
1776
+ readonly type: "contentHash";
1777
+ } | {
1778
+ readonly type: "pubkey";
1779
+ } | {
1780
+ readonly type: "abi";
1781
+ readonly contentType?: bigint | undefined;
1782
+ } | {
1783
+ readonly type: "interface";
1784
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1785
+ } | {
1786
+ readonly type: "name";
1787
+ } | {
1788
+ readonly type: "data";
1789
+ readonly key: string;
1790
+ } | {
1791
+ readonly type: "alias";
1792
+ } | {
1793
+ readonly type: "dnsRecord";
1794
+ } | {
1795
+ readonly type: "dnsZone";
1796
+ } | {
1797
+ readonly type: "clear";
1798
+ } | {
1799
+ readonly type: "setOwner";
1800
+ } | {
1801
+ readonly type: "setTtl";
1802
+ } | {
1803
+ readonly type: "setResolver";
1804
+ } | {
1805
+ readonly type: "createSubname";
1806
+ } | {
1807
+ readonly type: "transfer";
1808
+ } | {
1809
+ readonly type: "setExpiry";
1810
+ };
1811
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1812
+ readonly tokenId: bigint | null;
1813
+ readonly resource: bigint | null;
1814
+ readonly inheritedResolver: boolean;
1815
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").GetWriteTargetParameters, {
1816
+ readonly available: false;
1817
+ readonly protocol: "v1" | "v2";
1818
+ readonly reason: "NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED";
1819
+ } | {
1820
+ readonly available: true;
1821
+ readonly protocol: "v1" | "v2";
1822
+ readonly kind: "resolver" | "registrar" | "registry" | "name-wrapper" | "wrapper-registry";
1823
+ readonly address: `0x${string}`;
1824
+ readonly operation: {
1825
+ readonly type: "address";
1826
+ readonly coinType: bigint;
1827
+ } | {
1828
+ readonly type: "text";
1829
+ readonly key: string;
1830
+ } | {
1831
+ readonly type: "contentHash";
1832
+ } | {
1833
+ readonly type: "pubkey";
1834
+ } | {
1835
+ readonly type: "abi";
1836
+ readonly contentType?: bigint | undefined;
1837
+ } | {
1838
+ readonly type: "interface";
1839
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1840
+ } | {
1841
+ readonly type: "name";
1842
+ } | {
1843
+ readonly type: "data";
1844
+ readonly key: string;
1845
+ } | {
1846
+ readonly type: "alias";
1847
+ } | {
1848
+ readonly type: "dnsRecord";
1849
+ } | {
1850
+ readonly type: "dnsZone";
1851
+ } | {
1852
+ readonly type: "clear";
1853
+ } | {
1854
+ readonly type: "setOwner";
1855
+ } | {
1856
+ readonly type: "setTtl";
1857
+ } | {
1858
+ readonly type: "setResolver";
1859
+ } | {
1860
+ readonly type: "createSubname";
1861
+ } | {
1862
+ readonly type: "transfer";
1863
+ } | {
1864
+ readonly type: "setExpiry";
1865
+ };
1866
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1867
+ readonly tokenId: bigint | null;
1868
+ readonly resource: bigint | null;
1869
+ readonly inheritedResolver: boolean;
1870
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
1871
+ declare const useWriteTargetSuspense: <Selected = {
1872
+ readonly available: false;
1873
+ readonly protocol: "v1" | "v2";
1874
+ readonly reason: "NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED";
1875
+ } | {
1876
+ readonly available: true;
1877
+ readonly protocol: "v1" | "v2";
1878
+ readonly kind: "resolver" | "registrar" | "registry" | "name-wrapper" | "wrapper-registry";
1879
+ readonly address: `0x${string}`;
1880
+ readonly operation: {
1881
+ readonly type: "address";
1882
+ readonly coinType: bigint;
1883
+ } | {
1884
+ readonly type: "text";
1885
+ readonly key: string;
1886
+ } | {
1887
+ readonly type: "contentHash";
1888
+ } | {
1889
+ readonly type: "pubkey";
1890
+ } | {
1891
+ readonly type: "abi";
1892
+ readonly contentType?: bigint | undefined;
1893
+ } | {
1894
+ readonly type: "interface";
1895
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1896
+ } | {
1897
+ readonly type: "name";
1898
+ } | {
1899
+ readonly type: "data";
1900
+ readonly key: string;
1901
+ } | {
1902
+ readonly type: "alias";
1903
+ } | {
1904
+ readonly type: "dnsRecord";
1905
+ } | {
1906
+ readonly type: "dnsZone";
1907
+ } | {
1908
+ readonly type: "clear";
1909
+ } | {
1910
+ readonly type: "setOwner";
1911
+ } | {
1912
+ readonly type: "setTtl";
1913
+ } | {
1914
+ readonly type: "setResolver";
1915
+ } | {
1916
+ readonly type: "createSubname";
1917
+ } | {
1918
+ readonly type: "transfer";
1919
+ } | {
1920
+ readonly type: "setExpiry";
1921
+ };
1922
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1923
+ readonly tokenId: bigint | null;
1924
+ readonly resource: bigint | null;
1925
+ readonly inheritedResolver: boolean;
1926
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").GetWriteTargetParameters, {
1927
+ readonly available: false;
1928
+ readonly protocol: "v1" | "v2";
1929
+ readonly reason: "NAME_NOT_REGISTERED" | "RESOLVER_NOT_FOUND" | "OPERATION_UNSUPPORTED";
1930
+ } | {
1931
+ readonly available: true;
1932
+ readonly protocol: "v1" | "v2";
1933
+ readonly kind: "resolver" | "registrar" | "registry" | "name-wrapper" | "wrapper-registry";
1934
+ readonly address: `0x${string}`;
1935
+ readonly operation: {
1936
+ readonly type: "address";
1937
+ readonly coinType: bigint;
1938
+ } | {
1939
+ readonly type: "text";
1940
+ readonly key: string;
1941
+ } | {
1942
+ readonly type: "contentHash";
1943
+ } | {
1944
+ readonly type: "pubkey";
1945
+ } | {
1946
+ readonly type: "abi";
1947
+ readonly contentType?: bigint | undefined;
1948
+ } | {
1949
+ readonly type: "interface";
1950
+ readonly interfaceId?: (`0x${string}` & import("effect/Brand").Brand<"InterfaceId">) | undefined;
1951
+ } | {
1952
+ readonly type: "name";
1953
+ } | {
1954
+ readonly type: "data";
1955
+ readonly key: string;
1956
+ } | {
1957
+ readonly type: "alias";
1958
+ } | {
1959
+ readonly type: "dnsRecord";
1960
+ } | {
1961
+ readonly type: "dnsZone";
1962
+ } | {
1963
+ readonly type: "clear";
1964
+ } | {
1965
+ readonly type: "setOwner";
1966
+ } | {
1967
+ readonly type: "setTtl";
1968
+ } | {
1969
+ readonly type: "setResolver";
1970
+ } | {
1971
+ readonly type: "createSubname";
1972
+ } | {
1973
+ readonly type: "transfer";
1974
+ } | {
1975
+ readonly type: "setExpiry";
1976
+ };
1977
+ readonly node: `0x${string}` & import("effect/Brand").Brand<"Namehash">;
1978
+ readonly tokenId: bigint | null;
1979
+ readonly resource: bigint | null;
1980
+ readonly inheritedResolver: boolean;
1981
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
1982
+ declare const useHasRegistryRoles: <Selected = {
1983
+ readonly supported: false;
1984
+ readonly protocol: "v1" | "v2";
1985
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
1986
+ } | {
1987
+ readonly supported: true;
1988
+ readonly protocol: "v2";
1989
+ readonly registry: `0x${string}`;
1990
+ readonly resource: bigint;
1991
+ readonly account: `0x${string}`;
1992
+ readonly roles: bigint;
1993
+ readonly authorized: boolean;
1994
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").HasRegistryRolesParameters, {
1995
+ readonly supported: false;
1996
+ readonly protocol: "v1" | "v2";
1997
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
1998
+ } | {
1999
+ readonly supported: true;
2000
+ readonly protocol: "v2";
2001
+ readonly registry: `0x${string}`;
2002
+ readonly resource: bigint;
2003
+ readonly account: `0x${string}`;
2004
+ readonly roles: bigint;
2005
+ readonly authorized: boolean;
2006
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
2007
+ declare const useHasRegistryRolesSuspense: <Selected = {
2008
+ readonly supported: false;
2009
+ readonly protocol: "v1" | "v2";
2010
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
2011
+ } | {
2012
+ readonly supported: true;
2013
+ readonly protocol: "v2";
2014
+ readonly registry: `0x${string}`;
2015
+ readonly resource: bigint;
2016
+ readonly account: `0x${string}`;
2017
+ readonly roles: bigint;
2018
+ readonly authorized: boolean;
2019
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").HasRegistryRolesParameters, {
2020
+ readonly supported: false;
2021
+ readonly protocol: "v1" | "v2";
2022
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
2023
+ } | {
2024
+ readonly supported: true;
2025
+ readonly protocol: "v2";
2026
+ readonly registry: `0x${string}`;
2027
+ readonly resource: bigint;
2028
+ readonly account: `0x${string}`;
2029
+ readonly roles: bigint;
2030
+ readonly authorized: boolean;
2031
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
2032
+ declare const useHasResolverRoles: <Selected = {
2033
+ readonly supported: false;
2034
+ readonly protocol: "v1" | "v2";
2035
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
2036
+ } | {
2037
+ readonly supported: true;
2038
+ readonly protocol: "v2";
2039
+ readonly resolver: `0x${string}`;
2040
+ readonly resource: bigint;
2041
+ readonly account: `0x${string}`;
2042
+ readonly roles: bigint;
2043
+ readonly authorized: boolean;
2044
+ }>(input: UseEnsQueryParameters<import("@ensforge/core").HasResolverRolesParameters, {
2045
+ readonly supported: false;
2046
+ readonly protocol: "v1" | "v2";
2047
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
2048
+ } | {
2049
+ readonly supported: true;
2050
+ readonly protocol: "v2";
2051
+ readonly resolver: `0x${string}`;
2052
+ readonly resource: bigint;
2053
+ readonly account: `0x${string}`;
2054
+ readonly roles: bigint;
2055
+ readonly authorized: boolean;
2056
+ }, Selected>) => EnsQueryResult<Selected, import("@ensforge/core").GetCanonicalResourceError>;
2057
+ declare const useHasResolverRolesSuspense: <Selected = {
2058
+ readonly supported: false;
2059
+ readonly protocol: "v1" | "v2";
2060
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
2061
+ } | {
2062
+ readonly supported: true;
2063
+ readonly protocol: "v2";
2064
+ readonly resolver: `0x${string}`;
2065
+ readonly resource: bigint;
2066
+ readonly account: `0x${string}`;
2067
+ readonly roles: bigint;
2068
+ readonly authorized: boolean;
2069
+ }>(input: UseEnsSuspenseQueryParameters<import("@ensforge/core").HasResolverRolesParameters, {
2070
+ readonly supported: false;
2071
+ readonly protocol: "v1" | "v2";
2072
+ readonly reason: "RESOLVER_NOT_FOUND" | "ROLE_BASED_PERMISSIONS_UNSUPPORTED";
2073
+ } | {
2074
+ readonly supported: true;
2075
+ readonly protocol: "v2";
2076
+ readonly resolver: `0x${string}`;
2077
+ readonly resource: bigint;
2078
+ readonly account: `0x${string}`;
2079
+ readonly roles: bigint;
2080
+ readonly authorized: boolean;
2081
+ }, Selected>) => EnsSuspenseQueryResult<Selected>;
2082
+ //#endregion
2083
+ export { useHasRegistryRoles, useHasRegistryRolesSuspense, useHasResolverRoles, useHasResolverRolesSuspense, useNameCapabilities, useNameCapabilitiesSuspense, useOperatorApproval, useOperatorApprovalSuspense, useRecordPermissions, useRecordPermissionsSuspense, useRegistryCapabilities, useRegistryCapabilitiesSuspense, useRegistryRoles, useRegistryRolesSuspense, useRequiredAuthorization, useRequiredAuthorizationSuspense, useResolverCapabilities, useResolverCapabilitiesSuspense, useResolverDelegateApproval, useResolverDelegateApprovalSuspense, useResolverRoles, useResolverRolesSuspense, useTokenApproval, useTokenApprovalSuspense, useWrapperPermissions, useWrapperPermissionsSuspense, useWriteTarget, useWriteTargetSuspense };
2084
+ //# sourceMappingURL=capabilities.d.ts.map