@ensnode/ensnode-react 0.36.0 → 1.0.2

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.
package/dist/index.d.ts CHANGED
@@ -1,15 +1,15 @@
1
1
  import * as _tanstack_react_query from '@tanstack/react-query';
2
- import { QueryObserverOptions, QueryClient } from '@tanstack/react-query';
2
+ import { QueryObserverOptions, DefaultError, QueryKey, DefinedInitialDataOptions, QueryClient, DefinedUseQueryResult, UndefinedInitialDataOptions, UseQueryResult, UseQueryOptions } from '@tanstack/react-query';
3
3
  export { QueryClient } from '@tanstack/react-query';
4
4
  import * as _ensnode_ensnode_sdk from '@ensnode/ensnode-sdk';
5
- import { ClientOptions, ResolverRecordsSelection, ResolveRecordsRequest, ResolveRecordsResponse, ResolvePrimaryNameRequest, ResolvePrimaryNameResponse, ResolvePrimaryNamesRequest, ResolvePrimaryNamesResponse, ConfigResponse, IndexingStatusRequest, IndexingStatusResponse, UnresolvedIdentity, ENSNamespaceId, Identity } from '@ensnode/ensnode-sdk';
5
+ import { ClientOptions, ResolvePrimaryNameRequest, ResolvePrimaryNameResponse, ResolvePrimaryNamesRequest, ResolvePrimaryNamesResponse, ResolverRecordsSelection, ResolveRecordsRequest, ResolveRecordsResponse, ConfigResponse, IndexingStatusRequest, IndexingStatusResponse, RegistrarActionsRequest, RegistrarActionsResponse, UnresolvedIdentity, ENSNamespaceId, Identity } from '@ensnode/ensnode-sdk';
6
6
  export { ResolverRecordsSelection } from '@ensnode/ensnode-sdk';
7
7
  import * as react from 'react';
8
8
 
9
9
  /**
10
10
  * Configuration options for the ENSNode provider
11
11
  */
12
- interface ENSNodeConfig {
12
+ interface ENSNodeSDKConfig {
13
13
  /** The ENSNode API client configuration */
14
14
  client: ClientOptions;
15
15
  }
@@ -22,7 +22,7 @@ interface QueryParameter<TData = unknown, TError = Error> {
22
22
  /**
23
23
  * Configuration parameter for hooks that need access to config
24
24
  */
25
- interface ConfigParameter<TConfig extends ENSNodeConfig = ENSNodeConfig> {
25
+ interface WithSDKConfigParameter<TConfig extends ENSNodeSDKConfig = ENSNodeSDKConfig> {
26
26
  config?: TConfig | undefined;
27
27
  }
28
28
  /**
@@ -50,88 +50,26 @@ interface UsePrimaryNamesParameters extends Omit<ResolvePrimaryNamesRequest, "ad
50
50
  address: ResolvePrimaryNamesRequest["address"] | null;
51
51
  }
52
52
 
53
- interface ENSNodeProviderProps {
54
- /** ENSNode configuration */
55
- config: ENSNodeConfig;
56
- /**
57
- * Optional QueryClient instance. If provided, you must wrap your app with QueryClientProvider yourself.
58
- * If not provided, ENSNodeProvider will create and manage its own QueryClient internally.
59
- */
60
- queryClient?: QueryClient;
61
- /**
62
- * Custom query client options when auto-creating a QueryClient.
63
- * Only used when queryClient is not provided.
64
- */
65
- queryClientOptions?: ConstructorParameters<typeof QueryClient>[0];
66
- }
67
- declare function ENSNodeProvider(parameters: React.PropsWithChildren<ENSNodeProviderProps>): react.FunctionComponentElement<{
68
- children: React.ReactNode;
69
- config: ENSNodeConfig;
70
- }> | react.FunctionComponentElement<_tanstack_react_query.QueryClientProviderProps>;
71
- /**
72
- * Helper function to create ENSNode configuration
73
- */
74
- declare function createConfig(options?: {
75
- url?: string | URL;
76
- }): ENSNodeConfig;
77
-
78
53
  /**
79
54
  * React context for ENSNode configuration
80
55
  */
81
- declare const ENSNodeContext: react.Context<ENSNodeConfig | undefined>;
56
+ declare const ENSNodeContext: react.Context<ENSNodeSDKConfig | undefined>;
57
+
58
+ type UseENSNodeConfigParameters = QueryParameter<ConfigResponse>;
59
+ declare function useENSNodeConfig(parameters?: WithSDKConfigParameter & UseENSNodeConfigParameters): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ENSApiPublicConfig, Error>;
82
60
 
83
61
  /**
84
- * Hook to access the ENSNode configuration from context or parameters
62
+ * Hook to access the ENSNodeSDKConfig from context or parameters.
85
63
  *
86
64
  * @param parameters - Optional config parameter that overrides context
87
65
  * @returns The ENSNode configuration
88
66
  * @throws Error if no config is available in context or parameters
89
67
  */
90
- declare function useENSNodeConfig<TConfig extends ENSNodeConfig = ENSNodeConfig>(config: TConfig | undefined): TConfig;
68
+ declare function useENSNodeSDKConfig<TConfig extends ENSNodeSDKConfig = ENSNodeSDKConfig>(config: TConfig | undefined): TConfig;
91
69
 
92
- /**
93
- * Resolves records for an ENS name (Forward Resolution).
94
- *
95
- * The returned `name` field, if set, is guaranteed to be a normalized name.
96
- * If the name record returned by the resolver is not normalized, `null` is returned as if no name record was set.
97
- *
98
- * @param parameters - Configuration for the ENS name resolution
99
- * @returns Query result with resolved records
100
- *
101
- * @example
102
- * ```typescript
103
- * import { useRecords } from "@ensnode/ensnode-react";
104
- *
105
- * function DisplayNameRecords() {
106
- * const { data, isLoading, error } = useRecords({
107
- * name: "jesse.base.eth",
108
- * selection: {
109
- * addresses: [60], // ETH CoinType
110
- * texts: ["avatar", "com.twitter"]
111
- * }
112
- * });
113
- *
114
- * if (isLoading) return <div>Loading...</div>;
115
- * if (error) return <div>Error: {error.message}</div>;
116
- *
117
- * return (
118
- * <div>
119
- * <h3>Resolved Records for vitalik.eth</h3>
120
- * {data.records.addresses && (
121
- * <p>ETH Address: {data.records.addresses[60]}</p>
122
- * )}
123
- * {data.records.texts && (
124
- * <div>
125
- * <p>Avatar: {data.records.texts.avatar}</p>
126
- * <p>Twitter: {data.records.texts["com.twitter"]}</p>
127
- * </div>
128
- * )}
129
- * </div>
130
- * );
131
- * }
132
- * ```
133
- */
134
- declare function useRecords<SELECTION extends ResolverRecordsSelection>(parameters: UseRecordsParameters<SELECTION> & ConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolveRecordsResponse<SELECTION>, Error>;
70
+ interface UseIndexingStatusParameters extends IndexingStatusRequest, QueryParameter<IndexingStatusResponse> {
71
+ }
72
+ declare function useIndexingStatus(parameters?: WithSDKConfigParameter & UseIndexingStatusParameters): _tanstack_react_query.UseQueryResult<IndexingStatusResponse, Error>;
135
73
 
136
74
  /**
137
75
  * Resolves the primary name of a specified address (Reverse Resolution).
@@ -150,6 +88,7 @@ declare function useRecords<SELECTION extends ResolverRecordsSelection>(paramete
150
88
  * const { data, isLoading, error } = usePrimaryName({
151
89
  * address: "0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045",
152
90
  * chainId: 1, // Ethereum Mainnet
91
+ * accelerate: true, // Attempt Protocol Acceleration
153
92
  * });
154
93
  *
155
94
  * if (isLoading) return <div>Loading...</div>;
@@ -164,7 +103,7 @@ declare function useRecords<SELECTION extends ResolverRecordsSelection>(paramete
164
103
  * }
165
104
  * ```
166
105
  */
167
- declare function usePrimaryName(parameters: UsePrimaryNameParameters & ConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>;
106
+ declare function usePrimaryName(parameters: UsePrimaryNameParameters & WithSDKConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>;
168
107
 
169
108
  /**
170
109
  * Resolves the primary names of a specified address across multiple chains.
@@ -200,14 +139,60 @@ declare function usePrimaryName(parameters: UsePrimaryNameParameters & ConfigPar
200
139
  * }
201
140
  * ```
202
141
  */
203
- declare function usePrimaryNames(parameters: UsePrimaryNamesParameters & ConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolvePrimaryNamesResponse, Error>;
142
+ declare function usePrimaryNames(parameters: UsePrimaryNamesParameters & WithSDKConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolvePrimaryNamesResponse, Error>;
204
143
 
205
- type UseENSIndexerConfigParameters = QueryParameter<ConfigResponse>;
206
- declare function useENSIndexerConfig(parameters?: ConfigParameter & UseENSIndexerConfigParameters): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ENSIndexerPublicConfig, Error>;
144
+ /**
145
+ * Resolves records for an ENS name (Forward Resolution).
146
+ *
147
+ * The returned `name` field, if set, is guaranteed to be a normalized name.
148
+ * If the name record returned by the resolver is not normalized, `null` is returned as if no name record was set.
149
+ *
150
+ * @param parameters - Configuration for the ENS name resolution
151
+ * @returns Query result with resolved records
152
+ *
153
+ * @example
154
+ * ```typescript
155
+ * import { useRecords } from "@ensnode/ensnode-react";
156
+ *
157
+ * function DisplayNameRecords() {
158
+ * const { data, isLoading, error } = useRecords({
159
+ * name: "jesse.base.eth",
160
+ * selection: {
161
+ * addresses: [60], // ETH CoinType
162
+ * texts: ["avatar", "com.twitter"]
163
+ * }
164
+ * });
165
+ *
166
+ * if (isLoading) return <div>Loading...</div>;
167
+ * if (error) return <div>Error: {error.message}</div>;
168
+ *
169
+ * return (
170
+ * <div>
171
+ * <h3>Resolved Records for vitalik.eth</h3>
172
+ * {data.records.addresses && (
173
+ * <p>ETH Address: {data.records.addresses[60]}</p>
174
+ * )}
175
+ * {data.records.texts && (
176
+ * <div>
177
+ * <p>Avatar: {data.records.texts.avatar}</p>
178
+ * <p>Twitter: {data.records.texts["com.twitter"]}</p>
179
+ * </div>
180
+ * )}
181
+ * </div>
182
+ * );
183
+ * }
184
+ * ```
185
+ */
186
+ declare function useRecords<SELECTION extends ResolverRecordsSelection>(parameters: UseRecordsParameters<SELECTION> & WithSDKConfigParameter): _tanstack_react_query.UseQueryResult<_ensnode_ensnode_sdk.ResolveRecordsResponse<SELECTION>, Error>;
207
187
 
208
- interface UseIndexingStatusParameters extends IndexingStatusRequest, QueryParameter<IndexingStatusResponse> {
188
+ interface UseRegistrarActionsParameters extends RegistrarActionsRequest, QueryParameter<RegistrarActionsResponse> {
209
189
  }
210
- declare function useIndexingStatus(parameters?: ConfigParameter & UseIndexingStatusParameters): _tanstack_react_query.UseQueryResult<IndexingStatusResponse, Error>;
190
+ /**
191
+ * Use Registrar Actions hook
192
+ *
193
+ * Query ENSNode Registrar Actions API.
194
+ */
195
+ declare function useRegistrarActions(parameters?: WithSDKConfigParameter & UseRegistrarActionsParameters): _tanstack_react_query.UseQueryResult<RegistrarActionsResponse, Error>;
211
196
 
212
197
  /**
213
198
  * Parameters for the useResolvedIdentity hook.
@@ -215,6 +200,7 @@ declare function useIndexingStatus(parameters?: ConfigParameter & UseIndexingSta
215
200
  interface UseResolvedIdentityParameters {
216
201
  identity: UnresolvedIdentity;
217
202
  namespaceId: ENSNamespaceId;
203
+ accelerate?: boolean;
218
204
  }
219
205
  /**
220
206
  * Hook to perform ENSIP-19 primary name resolution to resolve an
@@ -226,6 +212,8 @@ interface UseResolvedIdentityParameters {
226
212
  * @param parameters.namespaceId - The {@link ENSNamespaceId} that `identity.chainId` should be interpreted
227
213
  * through (via {@link getResolvePrimaryNameChainIdParam}) to determine the literal
228
214
  * chainId that should be used for ENSIP-19 primary name resolution.
215
+ * @param parameters.accelerate - Whether to attempt Protocol Acceleration (default: false)
216
+ * when resolving the primary name.
229
217
  *
230
218
  * @returns An object containing:
231
219
  * - `identity`: An {@link Identity} with one of four possible {@link ResolutionStatusIds}:
@@ -257,6 +245,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
257
245
  isPaused: boolean;
258
246
  isRefetching: boolean;
259
247
  isStale: boolean;
248
+ isEnabled: boolean;
260
249
  refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
261
250
  fetchStatus: _tanstack_react_query.FetchStatus;
262
251
  promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
@@ -282,6 +271,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
282
271
  isPaused: boolean;
283
272
  isRefetching: boolean;
284
273
  isStale: boolean;
274
+ isEnabled: boolean;
285
275
  refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
286
276
  fetchStatus: _tanstack_react_query.FetchStatus;
287
277
  promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
@@ -307,6 +297,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
307
297
  isPaused: boolean;
308
298
  isRefetching: boolean;
309
299
  isStale: boolean;
300
+ isEnabled: boolean;
310
301
  refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
311
302
  fetchStatus: _tanstack_react_query.FetchStatus;
312
303
  promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
@@ -332,6 +323,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
332
323
  isPaused: boolean;
333
324
  isRefetching: boolean;
334
325
  isStale: boolean;
326
+ isEnabled: boolean;
335
327
  refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
336
328
  fetchStatus: _tanstack_react_query.FetchStatus;
337
329
  promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
@@ -357,6 +349,7 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
357
349
  isPaused: boolean;
358
350
  isRefetching: boolean;
359
351
  isStale: boolean;
352
+ isEnabled: boolean;
360
353
  refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
361
354
  fetchStatus: _tanstack_react_query.FetchStatus;
362
355
  promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
@@ -382,11 +375,82 @@ declare function useResolvedIdentity(parameters: UseResolvedIdentityParameters):
382
375
  isPaused: boolean;
383
376
  isRefetching: boolean;
384
377
  isStale: boolean;
378
+ isEnabled: boolean;
385
379
  refetch: (options?: _tanstack_react_query.RefetchOptions) => Promise<_tanstack_react_query.QueryObserverResult<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse, Error>>;
386
380
  fetchStatus: _tanstack_react_query.FetchStatus;
387
381
  promise: Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
388
382
  };
389
383
 
384
+ /**
385
+ * Use Stale-While-Revalidate Query
386
+ *
387
+ * This hooks is a proxy for {@link useQuery} with addition of the following
388
+ * semantics:
389
+ * - if the query has been resolved successfully just once,
390
+ * the query result will always be success with data being the previously
391
+ * cached result,
392
+ * - the cached result can never go stale, or be garbage collected
393
+ * - the cached result can be only overridden by the current result when
394
+ * the query is successfully re-fetched (in other words,
395
+ * the `options.queryFn` returns a resolved promise).
396
+ *
397
+ * Please note how there can be any number of failed queries before one
398
+ * succeeds. In such case, no successful result has ever been cached and
399
+ * the query fails (`isError: true`, `error` is available) until
400
+ * the first successful resolution (`isSuccess: true`, `data` is available).
401
+ *
402
+ * @example
403
+ * ```tsx
404
+ * const swrQuery = useSwrQuery({
405
+ * queryKey: ['data'],
406
+ * queryFn: fetchData,
407
+ * });
408
+ *
409
+ * if (swrQuery.isPending) {
410
+ * // Show loading state while there's no cached successful result and
411
+ * // no query attempt was finished yet.
412
+ * return <>Loading...</>;
413
+ * }
414
+ *
415
+ * if (swrQuery.isError) {
416
+ * // Show error state when query attempt fails and
417
+ * // no cached successful result is available.
418
+ * return <>Error: {swrQuery.error.message}</>;
419
+ * }
420
+ *
421
+ * // Otherwise, show data when the cached successful result is available.
422
+ * return <>Data: {JSON.stringify(swrQuery.data)}</>;
423
+ * ```
424
+ */
425
+ declare function useSwrQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: DefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): DefinedUseQueryResult<NoInfer<TData>, TError>;
426
+ declare function useSwrQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UndefinedInitialDataOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryResult<NoInfer<TData>, TError>;
427
+ declare function useSwrQuery<TQueryFnData = unknown, TError = DefaultError, TData = TQueryFnData, TQueryKey extends QueryKey = QueryKey>(options: UseQueryOptions<TQueryFnData, TError, TData, TQueryKey>, queryClient?: QueryClient): UseQueryResult<NoInfer<TData>, TError>;
428
+
429
+ interface ENSNodeProviderProps {
430
+ /** ENSNode configuration */
431
+ config: ENSNodeSDKConfig;
432
+ /**
433
+ * Optional QueryClient instance. If provided, you must wrap your app with QueryClientProvider yourself.
434
+ * If not provided, ENSNodeProvider will create and manage its own QueryClient internally.
435
+ */
436
+ queryClient?: QueryClient;
437
+ /**
438
+ * Custom query client options when auto-creating a QueryClient.
439
+ * Only used when queryClient is not provided.
440
+ */
441
+ queryClientOptions?: ConstructorParameters<typeof QueryClient>[0];
442
+ }
443
+ declare function ENSNodeProvider(parameters: React.PropsWithChildren<ENSNodeProviderProps>): react.FunctionComponentElement<{
444
+ children?: React.ReactNode;
445
+ config: ENSNodeSDKConfig;
446
+ }> | react.FunctionComponentElement<_tanstack_react_query.QueryClientProviderProps>;
447
+ /**
448
+ * Helper function to create ENSNode configuration
449
+ */
450
+ declare function createConfig(options?: {
451
+ url?: string | URL;
452
+ }): ENSNodeSDKConfig;
453
+
390
454
  /**
391
455
  * Immutable query options for data that is assumed to be immutable and should only be fetched once per full page refresh per unique key.
392
456
  * Similar to SWR's immutable: true API.
@@ -409,5 +473,66 @@ declare const ASSUME_IMMUTABLE_QUERY: {
409
473
  readonly refetchOnReconnect: false;
410
474
  readonly refetchOnMount: false;
411
475
  };
476
+ /**
477
+ * Query keys for hooks. Simply keys by path and arguments.
478
+ */
479
+ declare const queryKeys: {
480
+ base: (url: string) => readonly ["ensnode", string];
481
+ resolve: (url: string) => readonly ["ensnode", string, "resolve"];
482
+ records: (url: string, args: ResolveRecordsRequest<any>) => readonly ["ensnode", string, "resolve", "records", ResolveRecordsRequest<any>];
483
+ primaryName: (url: string, args: ResolvePrimaryNameRequest) => readonly ["ensnode", string, "resolve", "primary-name", ResolvePrimaryNameRequest];
484
+ primaryNames: (url: string, args: ResolvePrimaryNamesRequest) => readonly ["ensnode", string, "resolve", "primary-names", ResolvePrimaryNamesRequest];
485
+ config: (url: string) => readonly ["ensnode", string, "config"];
486
+ indexingStatus: (url: string) => readonly ["ensnode", string, "indexing-status"];
487
+ registrarActions: (url: string, args: RegistrarActionsRequest) => readonly ["ensnode", string, "registrar-actions", RegistrarActionsRequest];
488
+ };
489
+ /**
490
+ * Creates query options for Records Resolution
491
+ */
492
+ declare function createRecordsQueryOptions<SELECTION extends ResolverRecordsSelection>(config: ENSNodeSDKConfig, args: ResolveRecordsRequest<SELECTION>): {
493
+ enabled: boolean;
494
+ queryKey: readonly ["ensnode", string, "resolve", "records", ResolveRecordsRequest<any>];
495
+ queryFn: () => Promise<_ensnode_ensnode_sdk.ResolveRecordsResponse<SELECTION>>;
496
+ };
497
+ /**
498
+ * Creates query options for Primary Name Resolution
499
+ */
500
+ declare function createPrimaryNameQueryOptions(config: ENSNodeSDKConfig, args: ResolvePrimaryNameRequest): {
501
+ enabled: boolean;
502
+ queryKey: readonly ["ensnode", string, "resolve", "primary-name", ResolvePrimaryNameRequest];
503
+ queryFn: () => Promise<_ensnode_ensnode_sdk.ResolvePrimaryNameResponse>;
504
+ };
505
+ /**
506
+ * Creates query options for Primary Name Resolution
507
+ */
508
+ declare function createPrimaryNamesQueryOptions(config: ENSNodeSDKConfig, args: ResolvePrimaryNamesRequest): {
509
+ enabled: boolean;
510
+ queryKey: readonly ["ensnode", string, "resolve", "primary-names", ResolvePrimaryNamesRequest];
511
+ queryFn: () => Promise<_ensnode_ensnode_sdk.ResolvePrimaryNamesResponse>;
512
+ };
513
+ /**
514
+ * Creates query options for ENSNode Config API
515
+ */
516
+ declare function createConfigQueryOptions(config: ENSNodeSDKConfig): {
517
+ enabled: boolean;
518
+ queryKey: readonly ["ensnode", string, "config"];
519
+ queryFn: () => Promise<_ensnode_ensnode_sdk.ENSApiPublicConfig>;
520
+ };
521
+ /**
522
+ * Creates query options for ENSNode Indexing Status API
523
+ */
524
+ declare function createIndexingStatusQueryOptions(config: ENSNodeSDKConfig): {
525
+ enabled: boolean;
526
+ queryKey: readonly ["ensnode", string, "indexing-status"];
527
+ queryFn: () => Promise<_ensnode_ensnode_sdk.IndexingStatusResponse>;
528
+ };
529
+ /**
530
+ * Creates query options for ENSNode Registrar Actions API
531
+ */
532
+ declare function createRegistrarActionsQueryOptions(config: ENSNodeSDKConfig, args: RegistrarActionsRequest): {
533
+ enabled: boolean;
534
+ queryKey: readonly ["ensnode", string, "registrar-actions", RegistrarActionsRequest];
535
+ queryFn: () => Promise<_ensnode_ensnode_sdk.RegistrarActionsResponse>;
536
+ };
412
537
 
413
- export { ASSUME_IMMUTABLE_QUERY, type ConfigParameter, type ENSNodeConfig, ENSNodeContext, ENSNodeProvider, type ENSNodeProviderProps, type QueryParameter, type UsePrimaryNameParameters, type UsePrimaryNamesParameters, type UseRecordsParameters, type UseResolvedIdentityParameters, createConfig, useENSIndexerConfig, useENSNodeConfig, useIndexingStatus, usePrimaryName, usePrimaryNames, useRecords, useResolvedIdentity };
538
+ export { ASSUME_IMMUTABLE_QUERY, ENSNodeContext, ENSNodeProvider, type ENSNodeProviderProps, type ENSNodeSDKConfig, type QueryParameter, type UsePrimaryNameParameters, type UsePrimaryNamesParameters, type UseRecordsParameters, type UseResolvedIdentityParameters, type WithSDKConfigParameter, createConfig, createConfigQueryOptions, createIndexingStatusQueryOptions, createPrimaryNameQueryOptions, createPrimaryNamesQueryOptions, createRecordsQueryOptions, createRegistrarActionsQueryOptions, queryKeys, useENSNodeConfig, useENSNodeSDKConfig, useIndexingStatus, usePrimaryName, usePrimaryNames, useRecords, useRegistrarActions, useResolvedIdentity, useSwrQuery };