@ethlete/query 6.0.0-next.27 → 6.0.0-next.29

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.
@@ -211,6 +211,8 @@ type QueryExecuteOptions<TArgs extends QueryArgs> = {
211
211
  args: RequestArgs<TArgs> | null;
212
212
  options?: RunQueryExecuteOptions;
213
213
  isSecure?: boolean;
214
+ /** @see QueryRepositoryRequestOptions.isRefreshable */
215
+ isRefreshable?: boolean;
214
216
  };
215
217
  declare const queryExecute: <TArgs extends QueryArgs>(options: QueryExecuteOptions<TArgs>) => void;
216
218
  declare const circularQueryDependencyChecker: () => {
@@ -233,6 +235,12 @@ type QueryRefreshCause = {
233
235
  /** Whether another tab asked for it rather than this one. */
234
236
  otherTab: boolean;
235
237
  };
238
+ /**
239
+ * What tore a cache entry down: the last consumer went away (`unbind`), its `keepUnusedFor` window ran
240
+ * out (`expired`), it was the least recently orphaned entry over the cap (`unused-cap`), a logout
241
+ * dropped every secure entry (`logout`), or something evicted it by hand (`manual`).
242
+ */
243
+ type QueryRepositoryEntryDestroyedCause = 'unbind' | 'expired' | 'unused-cap' | 'logout' | 'manual';
236
244
  type QueryRepositoryEvent = {
237
245
  type: 'request-error';
238
246
  error: HttpErrorResponse;
@@ -285,6 +293,22 @@ type QueryRepositoryEvent = {
285
293
  cause: QueryRefreshCause;
286
294
  /** The requests that were re-executed, in cache order. */
287
295
  requests: HttpRequest<QueryArgs>[];
296
+ } | {
297
+ /**
298
+ * A cache entry was torn down: its request is destroyed and the key is gone from the cache.
299
+ * Emitted after the deletion, and for every teardown path there is - which is what makes "why
300
+ * did this entry disappear" answerable at all. {@link unbindAllSecure} emits one of these per
301
+ * entry as well as its own `unbind-all-secure`.
302
+ *
303
+ * The repository keeps no record of its own; a consumer that wants a history of destroyed
304
+ * entries (the devtools panel) is the one that keeps it.
305
+ */
306
+ type: 'entry-destroyed';
307
+ key: QueryKey;
308
+ isSecure: boolean;
309
+ method: QueryMethod;
310
+ url: string;
311
+ cause: QueryRepositoryEntryDestroyedCause;
288
312
  } | {
289
313
  /**
290
314
  * Every secure entry was torn down at once - a logout. Emitted after the cache is cleared so
@@ -320,6 +344,12 @@ type QueryRepositoryRequestOptions<TArgs extends QueryArgs> = {
320
344
  runQueryOptions?: RunQueryExecuteOptions;
321
345
  /** @see QueryConfig.silenceUncacheableAllowCacheError */
322
346
  silenceUncacheableAllowCacheError?: boolean;
347
+ /**
348
+ * Whether re-running the request on its own is safe, i.e. whether {@link QueryRepository.refreshInUse}
349
+ * may fire it again. Defaults to the method being a read (`GET`/`HEAD`/`OPTIONS`); the GraphQL
350
+ * execute path passes `true` for a query transported via `POST`.
351
+ */
352
+ isRefreshable?: boolean;
323
353
  };
324
354
  type QueryRepositoryItem<TArgs extends QueryArgs> = {
325
355
  /** The key of the request (either a cache key for cacheable requests or a UUID for uncacheable requests) */
@@ -516,8 +546,14 @@ type JsonPath = (string | number)[];
516
546
  * whole body, which is what lets it survive a refetch that returns a differently-valued but same-shaped
517
547
  * response.
518
548
  *
519
- * `reset` is never stored or replayed - arming one clears the other ops already armed at its exact path
520
- * instead, so the panel's "reset this value" action and its "arm an edit" actions share one entry point.
549
+ * `reset` is never stored or replayed - arming one clears the other ops already armed at its path or
550
+ * anywhere below it instead, so the panel's "reset this value" action and its "arm an edit" actions
551
+ * share one entry point. Resetting a container therefore undoes a "fill recursively" run, whose ops
552
+ * sit on the leaves rather than on the container itself.
553
+ *
554
+ * On the preset ops, `custom` - when present - is the exact value replayed, and `preset` is only the
555
+ * label it was generated under. Values are generated once at arm time and stored, never re-rolled
556
+ * inside apply, so a refetch replays the same response instead of reshuffling it.
521
557
  */
522
558
  type OverrideOp = {
523
559
  type: 'set';
@@ -526,7 +562,7 @@ type OverrideOp = {
526
562
  } | {
527
563
  type: 'stringPreset';
528
564
  path: JsonPath;
529
- preset: 'short' | 'long' | 'unicode' | 'custom';
565
+ preset: 'short' | 'long' | 'longWord' | 'unicode' | 'custom';
530
566
  custom?: string;
531
567
  } | {
532
568
  type: 'numberPreset';
@@ -573,11 +609,16 @@ type QueryDevtoolsOverridesHandle = {
573
609
  /** The write side, used by the instrumentation inside the query itself. */
574
610
  type QueryDevtoolsOverridesRecorder = QueryDevtoolsOverridesHandle & {
575
611
  /**
576
- * Arms a new op, or - for `{ type: 'reset' }` - disarms whatever op(s) already sit at that exact path
577
- * instead of adding one.
612
+ * Arms a new op, or - for `{ type: 'reset' }` - disarms whatever op(s) already sit at that path or
613
+ * below it instead of adding one.
578
614
  */
579
615
  arm: (op: OverrideOp) => void;
580
616
  };
617
+ /**
618
+ * Whether any of `entries` is armed at `path` or anywhere below it - what the panel's menu asks before
619
+ * offering "Reset", so the destructive action is hidden where it would be a silent no-op.
620
+ */
621
+ declare const hasQueryDevtoolsOverridesAtPath: (entries: readonly QueryDevtoolsOverrideEntry[], path: JsonPath) => boolean;
581
622
  /**
582
623
  * Clones `item` (a plain object array element) with every identity-shaped field replaced by a fresh
583
624
  * value, so a duplicated row never collides with the one it was copied from. A field counts as identity
@@ -610,6 +651,20 @@ declare const isDateShapedLeaf: (key: string | number | null, value: unknown) =>
610
651
  * op list with the exact same walk the docs describe, rather than a second, possibly-drifted one.
611
652
  */
612
653
  declare const collectLeafPaths: (value: unknown, kind: "string" | "number" | "boolean") => JsonPath[];
654
+ /**
655
+ * Generates a fresh sample value for a string preset, so filling twenty fields yields twenty different
656
+ * values instead of twenty identical ones. Call it at arm time and store the result in the op's
657
+ * `custom` field - generating inside apply would reshuffle the response on every refetch. `longWord`
658
+ * is a single unbreakable token (a compound word, a URL, a hex blob) - it tests overflow, where
659
+ * `long` tests wrapping.
660
+ */
661
+ declare const generateQueryDevtoolsStringPreset: (preset: "short" | "long" | "longWord" | "unicode") => string;
662
+ /**
663
+ * Generates a fresh sample value for a number preset - same arm-time contract as
664
+ * {@link generateQueryDevtoolsStringPreset}. `negative` and `huge` vary in magnitude so a batch fill
665
+ * produces varied digit counts; `zero` is always `0`.
666
+ */
667
+ declare const generateQueryDevtoolsNumberPreset: (preset: "zero" | "negative" | "huge") => number;
613
668
  /**
614
669
  * Replays `entries` against `raw`, in order, and reports which ones no longer resolve. Shared by the
615
670
  * pipeline (which only needs {@link value}) and the panel's menu (which previews a value and marks stale
@@ -681,6 +736,24 @@ type QueryDevtoolsPayload = {
681
736
  * waiting for can no longer reach it.
682
737
  */
683
738
  type QueryDevtoolsRunStatus = 'pending' | 'success' | 'error' | 'aborted';
739
+ /**
740
+ * How a run failed, kept on the run itself. The query's own `error` signal is the live one, but it is
741
+ * blanked whenever the query resets - a logout resets every secure query - so it cannot be read back
742
+ * after the fact. This is the copy that survives.
743
+ */
744
+ type QueryDevtoolsRunError = {
745
+ /** The HTTP status code, or 0 for a failure that never reached a response. */
746
+ code: number;
747
+ /** Every message the error carried, flattened. @see queryErrorMessages */
748
+ messages: string[];
749
+ /**
750
+ * The error response body. Only the newest few runs keep theirs, under the same budget as
751
+ * {@link QueryDevtoolsRun.response}.
752
+ */
753
+ body: unknown;
754
+ /** Whether {@link body} still holds this run's error body. */
755
+ hasBody: boolean;
756
+ };
684
757
  /**
685
758
  * A single run of a query, kept alongside the running totals so overlapping runs stay tellable apart -
686
759
  * which is what turns "ran 40 times" into "ran 40 times in two seconds".
@@ -722,6 +795,8 @@ type QueryDevtoolsRun = {
722
795
  response: unknown;
723
796
  /** Whether {@link response} still holds this run's body; a dropped and an empty body both read `null`. */
724
797
  hasResponse: boolean;
798
+ /** How the run failed, or `null` for one that did not. */
799
+ error: QueryDevtoolsRunError | null;
725
800
  };
726
801
  /** The read side of a stats recorder, as a {@link QueryDevtoolsEntry} exposes it to the panel. */
727
802
  type QueryDevtoolsStatsHandle = {
@@ -744,7 +819,10 @@ type QueryDevtoolsStatsRecorder = QueryDevtoolsStatsHandle & {
744
819
  }) => void;
745
820
  recordResponse: (payload: QueryDevtoolsPayload) => void;
746
821
  recordError: (options?: {
822
+ /** Whether the error is a devtools fault rather than a real failure. */
747
823
  faulted?: boolean;
824
+ /** The failure itself, for {@link QueryDevtoolsRun.error}. */
825
+ error?: QueryErrorResponse;
748
826
  }) => void;
749
827
  /**
750
828
  * Raises the attempt count of the run in flight. Idempotent per attempt, so a caller driven off a
@@ -754,6 +832,14 @@ type QueryDevtoolsStatsRecorder = QueryDevtoolsStatsHandle & {
754
832
  attempt: number;
755
833
  }) => void;
756
834
  };
835
+ /**
836
+ * How many bodies each query retains - {@link QueryDevtoolsOptions.responseHistory}, or `5`. Only a run
837
+ * that still holds one can be an end of a response diff, so the panel reads this to say why an older run
838
+ * can no longer be picked.
839
+ *
840
+ * Part of the devtools contract. **Not part of the general public contract.**
841
+ */
842
+ declare const queryDevtoolsResponseHistory: () => number;
757
843
  /**
758
844
  * The size of a payload in bytes, and whether that size is the one that went over the wire. Only a
759
845
  * `content-length` header is exact; everything else is measured by serializing the body.
@@ -1084,6 +1170,9 @@ type BaseQueryCreatorOptionsSubtle = {
1084
1170
  * - `true` means the request will always be cached
1085
1171
  * - `false` means the request will never be cached
1086
1172
  * - `undefined` means the request will be cached if the method is GET, OPTIONS or HEAD
1173
+ *
1174
+ * This says nothing about whether the request may be re-run: `refreshQueriesInUse()` and
1175
+ * `invalidateQueries()` still only fire reads.
1087
1176
  */
1088
1177
  useQueryRepositoryCache?: boolean;
1089
1178
  };
@@ -2056,8 +2145,9 @@ type QueryClient = {
2056
2145
  * the new value only affects *subsequent* requests, so anything already resolved keeps data
2057
2146
  * fetched under the old one until this is called.
2058
2147
  *
2059
- * Only cacheable requests are refreshed: re-firing a mutation nobody asked for would be a far worse
2060
- * surprise than a stale read.
2148
+ * Only reads are refreshed - `GET`/`HEAD`/`OPTIONS` and GraphQL queries transported via `POST`:
2149
+ * re-firing a mutation nobody asked for would be a far worse surprise than a stale read. A `POST`
2150
+ * that merely opted into the repository cache stays untouched.
2061
2151
  *
2062
2152
  * @see QueryClient.invalidateQueries for the case where the *data* went stale rather than the
2063
2153
  * request, which is the one that also concerns the user's other tabs.
@@ -2076,7 +2166,7 @@ type QueryClient = {
2076
2166
  * client.invalidateQueries({ url: '/players' }); // /players, /players/1, /players?page=2
2077
2167
  * client.invalidateQueries(); // everything on screen, here and in the other tabs
2078
2168
  *
2079
- * Same set as {@link QueryClient.refreshQueriesInUse}: cacheable entries with at least one
2169
+ * Same set as {@link QueryClient.refreshQueriesInUse}: reads with at least one
2080
2170
  * consumer, cache bypassed, in-flight requests restarted. Entries sitting out their `keepUnusedFor`
2081
2171
  * window are deliberately left alone - they revalidate on their own when a consumer binds again,
2082
2172
  * and refreshing what nobody is looking at is how an invalidation turns into a request storm.
@@ -2595,6 +2685,10 @@ type CreatePagedQueryStackOptions<TArgs extends QueryArgs, TNormPagination exten
2595
2685
  /**
2596
2686
  * If true, no queries will be executed while the paged query is loading.
2597
2687
  * This is useful if you need the current response to be used in the next query.
2688
+ *
2689
+ * This governs the `fetchNextPage()` / `fetchPreviousPage()` methods only. The
2690
+ * `canFetchNextPage` / `canFetchPreviousPage` signals are `false` while any page loads either way,
2691
+ * so a UI bound to them never issues the concurrent call this option would allow.
2598
2692
  */
2599
2693
  blockExecutionDuringLoading?: boolean;
2600
2694
  };
@@ -3221,8 +3315,10 @@ type CreateQueryStackOptions<TCreator extends AnyQueryCreator, TDeps extends ()
3221
3315
  };
3222
3316
  /**
3223
3317
  * Transforms the responses of all queries in the stack. Useful for merging or filtering responses.
3318
+ * A response is `null` while its query is loading or errored, so a transform runs on nulls before
3319
+ * anything has settled.
3224
3320
  */
3225
- transform?: (responses: ResponseType<QueryArgsOf<TCreator>>[]) => TTransform;
3321
+ transform?: (responses: (ResponseType<QueryArgsOf<TCreator>> | null)[]) => TTransform;
3226
3322
  /**
3227
3323
  * If true, prevents creating queries with identical args.
3228
3324
  * Useful for append mode to avoid duplicate data fetching.
@@ -3327,6 +3423,12 @@ type SecureExecuteFactoryOptions<TArgs extends QueryArgs> = {
3327
3423
  authProvider: AnyBearerAuthProvider;
3328
3424
  deps: QueryDependencies;
3329
3425
  state: QueryState<TArgs>;
3426
+ /**
3427
+ * Whether the query runs itself rather than only on an explicit `execute()` - the same condition
3428
+ * `maybeExecute` and the `withArgs` feature use. Only those are re-run once a new session starts;
3429
+ * re-firing a mutation on the next login would repeat it behind the user's back.
3430
+ */
3431
+ autoExecutes: boolean;
3330
3432
  transformAuthAndExec: (executeArgs: QueryExecuteArgs<TArgs> | undefined, tokens: {
3331
3433
  accessToken: string;
3332
3434
  }, headers: HttpHeaders, executeState: ReturnType<typeof setupQueryExecuteState>) => void;
@@ -3377,8 +3479,13 @@ type TokenRefreshQueryConfig<TArgs extends QueryArgs> = AuthQueryConfig<TArgs> &
3377
3479
  maxBufferMs?: number;
3378
3480
  };
3379
3481
  /**
3380
- * Minimum interval between refresh attempts in milliseconds.
3482
+ * Minimum interval between the *proactive* refreshes the expiry timer schedules, in milliseconds.
3381
3483
  * Prevents rapid refresh loops in case of issues.
3484
+ *
3485
+ * A refresh a 401 asked for is never throttled by this - a token revoked seconds after a proactive
3486
+ * refresh is exactly when the request must go out. Those are deduplicated instead: one refresh is
3487
+ * in flight at a time.
3488
+ *
3382
3489
  * @default 30000 (30 seconds)
3383
3490
  */
3384
3491
  minRefreshInterval?: number;
@@ -3416,6 +3523,34 @@ type TokenRefreshQueryConfig<TArgs extends QueryArgs> = AuthQueryConfig<TArgs> &
3416
3523
  * @default true
3417
3524
  */
3418
3525
  autoRetryOn401?: boolean;
3526
+ /**
3527
+ * What to do once the refresh query has failed for good - `retryConfig` decides what is retried,
3528
+ * this decides what a failure that survived it means.
3529
+ *
3530
+ * Defaults to ending the session for any status `retryConfig.retryableStatusCodes` does not list:
3531
+ * those are the failures that could still succeed later, everything else leaves the tab holding a
3532
+ * token the server will not renew. Without this the session would look valid while every secure
3533
+ * query 401s.
3534
+ *
3535
+ * @example
3536
+ * withRefreshQuery('refresh', {
3537
+ * queryCreator: refresh,
3538
+ * onRefreshFailure: ({ error, logout }) => {
3539
+ * if (error.code !== 503) logout();
3540
+ * },
3541
+ * });
3542
+ */
3543
+ onRefreshFailure?: (failure: RefreshFailure) => void;
3544
+ };
3545
+ /** What {@link TokenRefreshQueryConfig.onRefreshFailure} is handed when a refresh gives up. */
3546
+ type RefreshFailure = {
3547
+ /** The error the refresh query ended on. */
3548
+ error: QueryErrorResponse;
3549
+ /**
3550
+ * Ends the session, exactly as the provider's own `logout()` does, reporting `sessionEndCause`
3551
+ * as `'expired'`.
3552
+ */
3553
+ logout: () => void;
3419
3554
  };
3420
3555
  type AuthQueryBuilder<TKey extends string, TArgs extends QueryArgs> = {
3421
3556
  _type: 'authQuery';
@@ -3483,8 +3618,9 @@ declare const withInactivityLogout: <TBuilders extends readonly AnyQueryBuilder[
3483
3618
 
3484
3619
  type BearerAuthMultiTabSyncConfig = {
3485
3620
  /**
3486
- * Channel name for BroadcastChannel
3487
- * @default 'ethlete-auth-sync'
3621
+ * Channel name for BroadcastChannel. Defaults to a channel of the provider's own, so two providers
3622
+ * reachable from the same origin do not sync each other's sessions.
3623
+ * @default `ethlete-auth-sync:<provider name>`
3488
3624
  */
3489
3625
  channelName?: string;
3490
3626
  /**
@@ -3730,6 +3866,9 @@ type QueryFailureEventData = {
3730
3866
  type TokenRefreshEventData = {
3731
3867
  automatic: boolean;
3732
3868
  };
3869
+ type LogoutEventData = {
3870
+ cause: BearerAuthSessionEndCause | null;
3871
+ };
3733
3872
  type LeaderStatusChangeEventData = {
3734
3873
  isLeader: boolean;
3735
3874
  };
@@ -3737,7 +3876,7 @@ type LeaderInstanceCountChangeEventData = {
3737
3876
  count: number;
3738
3877
  };
3739
3878
  type TrackingEventDataMap<TBuilders extends readonly AnyQueryBuilder[]> = {
3740
- [K in TrackingEventName<TBuilders>]: K extends `${string}Execute` ? QueryExecuteEventData<ExtractArgsForEvent<TBuilders, K>> : K extends `${string}Success` ? QuerySuccessEventData<ExtractArgsForEvent<TBuilders, K>> : K extends `${string}Failure` ? QueryFailureEventData : K extends 'tokenRefreshSuccess' ? TokenRefreshEventData : K extends 'logout' ? void : K extends 'leaderStatusChange' ? LeaderStatusChangeEventData : K extends 'leaderInstanceCountChange' ? LeaderInstanceCountChangeEventData : never;
3879
+ [K in TrackingEventName<TBuilders>]: K extends `${string}Execute` ? QueryExecuteEventData<ExtractArgsForEvent<TBuilders, K>> : K extends `${string}Success` ? QuerySuccessEventData<ExtractArgsForEvent<TBuilders, K>> : K extends `${string}Failure` ? QueryFailureEventData : K extends 'tokenRefreshSuccess' ? TokenRefreshEventData : K extends 'logout' ? LogoutEventData : K extends 'leaderStatusChange' ? LeaderStatusChangeEventData : K extends 'leaderInstanceCountChange' ? LeaderInstanceCountChangeEventData : never;
3741
3880
  };
3742
3881
  type TrackingEventHandler<TData> = (data: TData) => void;
3743
3882
  type TrackingConfig<TBuilders extends readonly AnyQueryBuilder[] = readonly AnyQueryBuilder[]> = {
@@ -3797,6 +3936,28 @@ type BearerAuthExecutionStateTokenSeed = {
3797
3936
  state: 'success';
3798
3937
  };
3799
3938
  type BearerAuthExecutionState<TType extends string = string> = BearerAuthExecutionStateLoading<TType> | BearerAuthExecutionStateSuccess<TType> | BearerAuthExecutionStateError<TType> | BearerAuthExecutionStateLogout | BearerAuthExecutionStateTokenSeed;
3939
+ /**
3940
+ * Whether this tab has a session, and whether it is still finding out.
3941
+ *
3942
+ * - `unknown` - the provider has not finished its own startup yet. Never observed from a component.
3943
+ * - `restoring` - a session restore is in flight (`withPersistentAuth`'s auto-login).
3944
+ * - `authenticated` - tokens are applied.
3945
+ * - `anonymous` - no session, and nothing is trying to get one.
3946
+ */
3947
+ type BearerAuthSessionStatus = 'unknown' | 'restoring' | 'authenticated' | 'anonymous';
3948
+ /**
3949
+ * Why the session ended. A user-initiated logout must stay put; a session that ended on its own
3950
+ * usually returns the user to where they were, so the two cannot be told apart by state alone.
3951
+ */
3952
+ type BearerAuthSessionEndCause =
3953
+ /** `logout()` called with no cause - a user clicking "log out". */
3954
+ 'user'
3955
+ /** `withInactivityLogout`'s timer elapsed. */
3956
+ | 'inactivity'
3957
+ /** A token refresh failed for good, so the tab can no longer renew the session. */
3958
+ | 'expired'
3959
+ /** Another tab logged out and `withBearerAuthMultiTabSync` carried it here. */
3960
+ | 'otherTab';
3800
3961
  declare const BearerAuthFeatureType: {
3801
3962
  readonly PERSISTENT_AUTH: "PERSISTENT_AUTH";
3802
3963
  readonly TOKEN_EXPIRATION_WARNING: "TOKEN_EXPIRATION_WARNING";
@@ -3813,8 +3974,9 @@ type BearerAuthFeature<TBuilders extends readonly AnyQueryBuilder[], TBearerData
3813
3974
  devtools?: QueryDevtoolsFeatureDescriber;
3814
3975
  };
3815
3976
  /**
3816
- * What a feature gets before the provider's queries are wired up. Only the tokens and the client
3817
- * exist this early - everything else is built on top of what early setup returns.
3977
+ * What a feature gets before the provider's queries are wired up. Only the tokens, the client and the
3978
+ * two session entry points exist this early - everything else is built on top of what early setup
3979
+ * returns.
3818
3980
  *
3819
3981
  * Advanced: only a feature that has to run before the auth queries are wired needs this.
3820
3982
  */
@@ -3822,6 +3984,29 @@ type BearerAuthProviderEarlySetupContext = {
3822
3984
  accessToken: WritableSignal<string | null>;
3823
3985
  refreshToken: WritableSignal<string | null>;
3824
3986
  queryClient: QueryClient;
3987
+ /**
3988
+ * The provider's own name. A feature that reaches outside the tab - a `BroadcastChannel`, a Web Lock,
3989
+ * a storage key - must namespace it with this, or two providers on the same origin share it.
3990
+ */
3991
+ name: string;
3992
+ /**
3993
+ * Applies a token pair the way a successful auth query does - including the `afterTokenRefresh$`
3994
+ * emission that retries secure queries which failed with a 401. Prefer this over writing
3995
+ * {@link accessToken} and {@link refreshToken}, which only changes what the next request sends.
3996
+ */
3997
+ applyTokens: (access: string, refresh: string) => void;
3998
+ /** Ends the session, exactly as the provider's own `logout()` does. */
3999
+ logout: (cause?: BearerAuthSessionEndCause) => void;
4000
+ };
4001
+ /**
4002
+ * How a tab that is not the leader gets a refresh out of the tab that is. Contributed by
4003
+ * `withBearerAuthMultiTabSync`; absent when every tab refreshes for itself.
4004
+ */
4005
+ type BearerAuthRefreshCoordination = {
4006
+ /** Asks the leader tab to refresh the session's tokens now. */
4007
+ request: () => void;
4008
+ /** Emits in the leader tab whenever another tab asked for a refresh. */
4009
+ requests$: Observable<void>;
3825
4010
  };
3826
4011
  /** The parts of the provider an early setup can contribute. */
3827
4012
  type BearerAuthProviderEarlySetupResult = {
@@ -3830,6 +4015,7 @@ type BearerAuthProviderEarlySetupResult = {
3830
4015
  isLeader: Signal<boolean>;
3831
4016
  instanceCount: Signal<number>;
3832
4017
  };
4018
+ refreshCoordination?: BearerAuthRefreshCoordination;
3833
4019
  };
3834
4020
  /**
3835
4021
  * A feature builder that additionally runs before the auth queries are set up. The auth queries read
@@ -3943,6 +4129,17 @@ type BearerAuthProvider<TBuilders extends readonly AnyQueryBuilder[], TFeatures
3943
4129
  * Tracks the latest auth operation (login, autoLogin, tokenRefresh, logout, revocation) with its state and payload.
3944
4130
  */
3945
4131
  executionState: Signal<BearerAuthExecutionState<ExtractQueryKey<TBuilders[number]> | 'autoLogin' | 'tokenRefresh' | 'logout' | 'revocation' | 'tokenSeed'> | null>;
4132
+ /**
4133
+ * Whether this tab has a session, and whether it is still finding out - the signal to gate an app
4134
+ * shell on. Unlike {@link executionState} it always has a value, it answers only this one question,
4135
+ * and it reaches `anonymous` even when nothing ever executed (no cookie to restore from).
4136
+ */
4137
+ sessionStatus: Signal<BearerAuthSessionStatus>;
4138
+ /**
4139
+ * Why the last session ended, or `null` while one is running and before the first ever ended.
4140
+ * Cleared as soon as tokens are applied again.
4141
+ */
4142
+ sessionEndCause: Signal<BearerAuthSessionEndCause | null>;
3946
4143
  /**
3947
4144
  * Seeds the provider with tokens that were issued outside of it - an SSO/OIDC callback that
3948
4145
  * arrives with both tokens in the URL, a token handed over by a native shell, a test harness.
@@ -3958,9 +4155,10 @@ type BearerAuthProvider<TBuilders extends readonly AnyQueryBuilder[], TFeatures
3958
4155
  */
3959
4156
  setTokens: (accessToken: string, refreshToken: string) => void;
3960
4157
  /**
3961
- * Logout the user (clears all tokens and unbinds secure queries)
4158
+ * Logout the user (clears all tokens and unbinds secure queries). The optional cause is published
4159
+ * as {@link sessionEndCause}; it defaults to `'user'`, so a plain `logout()` reads as a click.
3962
4160
  */
3963
- logout: () => void;
4161
+ logout: (cause?: BearerAuthSessionEndCause) => void;
3964
4162
  /**
3965
4163
  * Observable that emits after a successful token refresh.
3966
4164
  * Secure queries can subscribe to this to re-execute themselves with the new token.
@@ -3972,7 +4170,7 @@ type BearerAuthProviderFeatureContext<TBearerData = unknown, TBuilders extends r
3972
4170
  afterTokenRefresh$: Observable<void>;
3973
4171
  accessToken: WritableSignal<string | null>;
3974
4172
  bearerData: Signal<TBearerData | null>;
3975
- logout: () => void;
4173
+ logout: (cause?: BearerAuthSessionEndCause) => void;
3976
4174
  injector: Injector;
3977
4175
  destroyRef: DestroyRef;
3978
4176
  setTokens: (access: string, refresh: string) => void;
@@ -3983,6 +4181,8 @@ type BearerAuthProviderFeatureContext<TBearerData = unknown, TBuilders extends r
3983
4181
  };
3984
4182
  queries: QueryRegistry<TBuilders>;
3985
4183
  executionState: WritableSignal<BearerAuthExecutionState | null>;
4184
+ sessionStatus: Signal<BearerAuthSessionStatus>;
4185
+ sessionEndCause: Signal<BearerAuthSessionEndCause | null>;
3986
4186
  };
3987
4187
  type BearerAuthProviderQueryContext<TBearerData = unknown, TBuilders extends readonly AnyQueryBuilder[] = readonly AnyQueryBuilder[]> = {
3988
4188
  accessToken: WritableSignal<string | null>;
@@ -3992,7 +4192,12 @@ type BearerAuthProviderQueryContext<TBearerData = unknown, TBuilders extends rea
3992
4192
  repository: QueryRepository;
3993
4193
  afterTokenRefresh$: Observable<void>;
3994
4194
  isLeader: () => boolean;
4195
+ refreshCoordination: BearerAuthRefreshCoordination | undefined;
4196
+ /** Ends the session, exactly as the provider's own `logout()` does. */
4197
+ logout: (cause?: BearerAuthSessionEndCause) => void;
3995
4198
  queries: QueryRegistry<TBuilders>;
4199
+ /** Whether any execution that can issue tokens is still running, across every registry key. */
4200
+ hasTokenIssuingExecutionInFlight: Signal<boolean>;
3996
4201
  };
3997
4202
  declare const createBearerAuthProvider: <TBuilders extends readonly AnyQueryBuilder[], TFeatures extends readonly ((context: BearerAuthProviderFeatureContext<TBearerData, TBuilders>) => unknown)[], TBearerData = unknown>(config: CreateBearerAuthProviderConfig<TBuilders, TFeatures, TBearerData>) => ProviderDefinition<BearerAuthProvider<TBuilders, TFeatures, TBearerData>>;
3998
4203
  type BearerAuthProviderRef<TBuilders extends readonly AnyQueryBuilder[] = readonly AnyQueryBuilder[], TFeatures extends readonly ((context: BearerAuthProviderFeatureContext<TBearerData, TBuilders>) => unknown)[] = readonly ((context: BearerAuthProviderFeatureContext<unknown, readonly AnyQueryBuilder[]>) => unknown)[], TBearerData = unknown> = ProviderDefinition<BearerAuthProvider<TBuilders, TFeatures, TBearerData>>;
@@ -4212,6 +4417,14 @@ type QueryDevtoolsEntry = {
4212
4417
  meta: QueryDevtoolsEntryMeta;
4213
4418
  handle: unknown;
4214
4419
  createdAt: number;
4420
+ /**
4421
+ * When the query behind this entry was destroyed, or `null`/absent while it is still live. A
4422
+ * destroyed entry is kept as a tombstone - a frozen snapshot of what the query last held - so a
4423
+ * request that failed on the way out (a `401` that redirects to login and takes its component with
4424
+ * it) is still readable by the time the panel is opened. Its `handle` answers with constants and
4425
+ * every action on it is inert.
4426
+ */
4427
+ destroyedAt?: number | null;
4215
4428
  /**
4216
4429
  * What the entry has done since it was created - executions, requests, payload sizes. Present for
4217
4430
  * queries; stacks, sequences and auth providers aggregate the stats of the queries they own instead.
@@ -4281,6 +4494,19 @@ type QueryDevtoolsResolvedFault = {
4281
4494
  declare const queryDevtoolsEntries: Signal<QueryDevtoolsEntry[]>;
4282
4495
  /** Renders parsed route parts as a template, e.g. `/team/:teamId/players`. */
4283
4496
  declare const stringifyQueryRouteParts: (parts: QueryDevtoolsRoutePart[]) => string;
4497
+ /**
4498
+ * Forgets every destroyed entry the registry is holding - the panel's "clear gone" action. Live
4499
+ * entries are untouched.
4500
+ */
4501
+ declare const clearQueryDevtoolsTombstones: () => void;
4502
+ type QueryDevtoolsOptions = {
4503
+ /**
4504
+ * How many of each query's most recent runs keep their response (or error) body, which is what the
4505
+ * panel's response diff compares. Defaults to `5`. Bodies dominate what the run buffer retains, so
4506
+ * raise this only as far as the reach you actually need - a polling query holds one per run.
4507
+ */
4508
+ responseHistory?: number;
4509
+ };
4284
4510
  /**
4285
4511
  * Enables the `@ethlete/query` devtools. Add this to your application providers (e.g. in
4286
4512
  * `bootstrapApplication`) to make query clients, queries, stacks, sequences and auth providers
@@ -4296,7 +4522,33 @@ declare const stringifyQueryRouteParts: (parts: QueryDevtoolsRoutePart[]) => str
4296
4522
  * });
4297
4523
  * ```
4298
4524
  */
4299
- declare const provideQueryDevtools: () => EnvironmentProviders;
4525
+ declare const provideQueryDevtools: (options?: QueryDevtoolsOptions) => EnvironmentProviders;
4526
+
4527
+ /**
4528
+ * How many destroyed queries the registry keeps. A tombstone holds the last response body it captured,
4529
+ * so the list is capped for the same reason the repository caps its unused entries.
4530
+ */
4531
+ declare const MAX_QUERY_DEVTOOLS_TOMBSTONES = 50;
4532
+ /**
4533
+ * A destroyed query's last state, shaped like the query itself: every signal the panel reads is
4534
+ * replaced by a function returning the value it held when the query went away, and every action is a
4535
+ * no-op. Rendering a tombstone therefore costs the panel no second code path - the drawer reads
4536
+ * `entry.handle` exactly as it does for a live query, and gates its actions on
4537
+ * {@link QueryDevtoolsEntry.destroyedAt} instead.
4538
+ *
4539
+ * The captured request is a plain copy, not the request itself: the real one is destroyed the moment
4540
+ * its cache entry is, and holding it would keep its subscriptions and its cache entry alive.
4541
+ */
4542
+ declare const snapshotQueryDevtoolsHandle: (handle: unknown) => unknown;
4543
+ /**
4544
+ * The entry a destroyed query leaves behind: the same id, kind and metadata, a frozen
4545
+ * {@link snapshotQueryDevtoolsHandle} in place of the live query, and no `element` - a DOM node whose
4546
+ * component is gone must not be kept alive by the panel.
4547
+ *
4548
+ * `stats` is carried over as-is. The recorder closes over its own signals rather than over the query,
4549
+ * so the run history that makes a failed request readable survives without retaining anything.
4550
+ */
4551
+ declare const tombstoneOf: (entry: QueryDevtoolsEntry, destroyedAt: number) => QueryDevtoolsEntry;
4300
4552
 
4301
4553
  type TransformedGqlQuery = {
4302
4554
  query: string;
@@ -7006,7 +7258,7 @@ declare class ParseHttpErrorCodeToMessageEnPipe implements PipeTransform {
7006
7258
  * The internal, fully-resolved definition of a single query-form field.
7007
7259
  *
7008
7260
  * Produced by the field creators (`queryField()`, `searchQueryField()`, …) and
7009
- * consumed by `createQueryForm()`. `T` is the field's value type and always
7261
+ * consumed by `defineQueryForm()`. `T` is the field's value type and always
7010
7262
  * includes `null` (a field can be cleared).
7011
7263
  */
7012
7264
  type QueryFieldDef<T> = {
@@ -7081,7 +7333,7 @@ type QueryFieldConfig<T> = Partial<Omit<QueryFieldDef<T>, 'isResetBy'>> & {
7081
7333
  };
7082
7334
  /** Extracts a field definition's value type. */
7083
7335
  type QueryFieldValue<F> = F extends QueryFieldDef<infer T> ? T : never;
7084
- /** A map of field name → field definition, as passed to `createQueryForm({ fields })`. */
7336
+ /** A map of field name → field definition, as passed to `defineQueryForm({ fields })`. */
7085
7337
  type QueryFormFields = Record<string, QueryFieldDef<unknown>>;
7086
7338
  /** The value shape of a query form - one entry per field. */
7087
7339
  type QueryFormModel<TFields extends QueryFormFields> = {
@@ -7152,7 +7404,7 @@ type QueryFormBranch<TFields extends QueryFormFields> = {
7152
7404
  resetFieldToDefault(key: keyof QueryFormModel<TFields>): void;
7153
7405
  resetAllFieldsToDefault(): void;
7154
7406
  };
7155
- type CreateQueryFormConfig<TFields extends QueryFormFields> = {
7407
+ type DefineQueryFormConfig<TFields extends QueryFormFields> = {
7156
7408
  readonly fields: TFields;
7157
7409
  /**
7158
7410
  * A prefix for every query-param key, so multiple query forms can coexist on
@@ -7172,34 +7424,9 @@ type CreateQueryFormConfig<TFields extends QueryFormFields> = {
7172
7424
  * debounced committed value, syncs to the URL query params, and resets dependent
7173
7425
  * fields via the `isResetBy` graph - all as signals.
7174
7426
  *
7175
- * @example
7176
- * const qf = createQueryForm({
7177
- * fields: {
7178
- * search: searchQueryField(),
7179
- * sort: sortQueryField(),
7180
- * page: queryField<number>({ defaultValue: 1, isResetBy: ['search', 'sort'] }),
7181
- * },
7182
- * }).observe();
7183
- * // template: <input etInput [formField]="qf.fields.search" />
7427
+ * Created with {@link defineQueryForm}.
7184
7428
  */
7185
- declare class QueryFormSignals<TFields extends QueryFormFields> {
7186
- private router;
7187
- private route;
7188
- private injector;
7189
- private readonly queryParamChanges;
7190
- private readonly _fields;
7191
- private readonly prefix;
7192
- private readonly defaults;
7193
- /** Live field values (updated immediately by bound controls). */
7194
- private readonly model;
7195
- /** The committed (debounced) value that drives `value`, the URL and the filter count. */
7196
- private readonly committed;
7197
- private previous;
7198
- private observing;
7199
- private observeOptions;
7200
- private pendingTimer;
7201
- private commitPending;
7202
- private skipNextResets;
7429
+ type QueryFormSignals<TFields extends QueryFormFields> = {
7203
7430
  /**
7204
7431
  * The bindable signal-forms field tree - bind a field with `[formField]`, e.g.
7205
7432
  * `<input etInput [formField]="qf.fields.search" />`.
@@ -7218,8 +7445,9 @@ declare class QueryFormSignals<TFields extends QueryFormFields> {
7218
7445
  readonly activeFilterCount: Signal<number>;
7219
7446
  /** The default value of the whole form. */
7220
7447
  readonly defaultValue: QueryFormModel<TFields>;
7221
- constructor(config: CreateQueryFormConfig<TFields>);
7222
- observe(options?: QueryFormSignalsObserveOptions): this;
7448
+ /** Start syncing with the URL. Returns the form, so it can be chained onto the definition. */
7449
+ observe(options?: QueryFormSignalsObserveOptions): QueryFormSignals<TFields>;
7450
+ /** Stop syncing and strip the form's params from the URL. Runs on destroy anyway. */
7223
7451
  unobserve(): void;
7224
7452
  setValue(value: QueryFormModel<TFields>, options?: QueryFormSignalsWriteOptions): void;
7225
7453
  patchValue(value: Partial<QueryFormModel<TFields>>, options?: QueryFormSignalsWriteOptions): void;
@@ -7230,31 +7458,22 @@ declare class QueryFormSignals<TFields extends QueryFormFields> {
7230
7458
  }): void;
7231
7459
  /** Create a detached editor over the same fields, seeded from the current committed value. */
7232
7460
  branch(): QueryFormBranch<TFields>;
7233
- /**
7234
- * The live view `<et-query-devtools>` renders. Only built while the devtools are installed - it walks
7235
- * every field on every change, which an app without them should not pay for.
7236
- */
7237
- private devtoolsHandle;
7238
- private onLiveChange;
7239
- /** Shortest-debounce-wins; `null` means commit immediately. */
7240
- private resolveDebounce;
7241
- private flush;
7242
- private applyResets;
7243
- private applyFromUrl;
7244
- private commitFromUrl;
7245
- private deserialize;
7246
- /** What a field puts in the URL for a given value, or `undefined` when it writes nothing. */
7247
- private queryParamFor;
7248
- private writeToUrl;
7249
- private paramKey;
7250
- private clearTimer;
7251
- private cleanup;
7252
- }
7461
+ };
7253
7462
  /**
7254
- * Create a {@link QueryFormSignals}. Call `.observe()` to start syncing with the
7463
+ * Define a {@link QueryFormSignals}. Call `.observe()` to start syncing with the
7255
7464
  * URL. Must be called in an injection context.
7465
+ *
7466
+ * @example
7467
+ * const qf = defineQueryForm({
7468
+ * fields: {
7469
+ * search: searchQueryField(),
7470
+ * sort: sortQueryField(),
7471
+ * page: queryField<number>({ defaultValue: 1, isResetBy: ['search', 'sort'] }),
7472
+ * },
7473
+ * }).observe();
7474
+ * // template: <input etInput [formField]="qf.fields.search" />
7256
7475
  */
7257
- declare const createQueryForm: <TFields extends QueryFormFields>(config: CreateQueryFormConfig<TFields>) => QueryFormSignals<TFields>;
7476
+ declare const defineQueryForm: <TFields extends QueryFormFields>(config: DefineQueryFormConfig<TFields>) => QueryFormSignals<TFields>;
7258
7477
 
7259
7478
  /**
7260
7479
  * A generic query-form field. Defaults to `null` and, unless a transform is
@@ -7365,7 +7584,10 @@ type SocketMessageView<TMessageData = unknown> = {
7365
7584
  data: TMessageData;
7366
7585
  };
7367
7586
  type WebSocketClientSubtle = {
7368
- /** Leave a socket io room */
7587
+ /**
7588
+ * Releases one join of a socket io room. Joiners of the same room share it, so the room is only
7589
+ * actually left once every one of them has released it.
7590
+ */
7369
7591
  leaveRoom: (room: string) => void;
7370
7592
  };
7371
7593
  type WebSocketClient<TMessageData extends SocketMessageView> = {
@@ -7383,6 +7605,11 @@ type WebSocketClient<TMessageData extends SocketMessageView> = {
7383
7605
  };
7384
7606
  type InternalWebSocketRoom<TMessageData extends SocketMessageView> = {
7385
7607
  latestMessage: WritableSignal<TMessageData | null>;
7608
+ /**
7609
+ * How many callers currently hold this room. Joiners share one room object, so the room may only be
7610
+ * left once this reaches zero - otherwise the first caller to unmount stops the messages for the rest.
7611
+ */
7612
+ joinCount: number;
7386
7613
  };
7387
7614
  type WebSocketRoom<TMessageData extends SocketMessageView> = {
7388
7615
  /** The latest message received in the room */
@@ -7392,5 +7619,5 @@ type WebSocketClientResult<TMessageData extends SocketMessageView = SocketMessag
7392
7619
  type AnyWebSocketClient<TMessageData extends SocketMessageView = SocketMessageView> = WebSocketClientResult<TMessageData>;
7393
7620
  declare const createWebSocketClient: <TMessageData extends SocketMessageView = SocketMessageView>(options: CreateWebSocketClientConfigOptions) => WebSocketClientResult<TMessageData>;
7394
7621
 
7395
- export { AuthBearerRefreshStrategy, BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField, CLEAR_QUERY_ARGS, CustomHeaderAuthProvider, DEFAULT_KEEP_UNUSED_FOR, DEFAULT_QUERY_PERSISTENCE_MAX_AGE, DEFAULT_QUERY_PERSISTENCE_MAX_ENTRIES, DEFAULT_QUERY_PERSISTENCE_VERSION, DEFAULT_QUERY_PERSISTENCE_WRITE_DELAY, DateArrayQueryField, DateQueryField, EMPTY_QUERY_DEVTOOLS_FAULT, EntityStore, IGNORED_FILTER_COUNT_FIELDS, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, LegacyQuery, LegacyQueryCreator, MAX_UNUSED_ENTRIES, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, QUERY_DEVTOOLS_FAULT_STATUSES, QUERY_PERSISTENCE_STORE_VERSION, QUERY_SYNC_PROTOCOL_VERSION, QueryClientFeatureType, QueryDevtoolsComponent, QueryDirective, QueryFeatureType, QueryField, QueryForm, QueryFormSignals, QueryRuntimeErrorCode, QueryShortNamePipe, QueryStateType, QueryStore, SERVER_ERROR_KIND, SERVER_VIOLATION_ERROR_KIND, SPEED_BUFFER_TIME_IN_MS, SearchQueryField, SortQueryField, StringArrayQueryField, V2BearerAuthProvider, V2Query, V2QueryClient, V2QueryCreator, addQueryContainerHandling, applyQueryDevtoolsOverrides, applyQueryFeatures, authExtractTokensResponseMissingAccessToken, authExtractTokensResponseMissingRefreshToken, authExtractTokensResponseNotObject, authProviderFeatureUsedMultipleTimes, booleanArrayQueryField, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, circularQueryDependency, circularQueryDependencyChecker, clearQueryDevtoolsFaults, collectLeafPaths, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, contentfulGqlLikePaginationAdapter, createBaseQuery, createBaseQueryCreator, createBearerAuthProvider, createDeleteQuery, createExecuteFn, createGetQuery, createGqlExecuteFn, createGqlMutationViaGet, createGqlMutationViaPost, createGqlQuery, createGqlQueryCreator, createGqlQueryViaGet, createGqlQueryViaPost, createHttpRequest, createIndexedDbQueryPersistenceAdapter, createInfinityQueryConfig, createLegacyQueryCreator, createNoopQueryPersistenceAdapter, createPagedQueryStack, createPatchQuery, createPersistentAuthFeature, createPostQuery, createPutQuery, createQuery, createQueryClient, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, createQueryContext, createQueryCreator, createQueryErrorResponse, createQueryFeature, createQueryForm, createQueryInvalidationFilter, createQueryKeyLockManager, createQueryObject, createQueryPersistenceEngine, createQueryRepository, createQuerySnapshotFn, createQueryStack, createQuerySyncEngine, createQuerySyncTransport, createSecureDeleteQuery, createSecureExecuteFactory, createSecureExecuteFn, createSecureGetQuery, createSecureGqlExecuteFn, createSecureGqlMutationViaGet, createSecureGqlMutationViaPost, createSecureGqlQuery, createSecureGqlQueryCreator, createSecureGqlQueryViaGet, createSecureGqlQueryViaPost, createSecurePatchQuery, createSecurePostQuery, createSecurePutQuery, createSecureQuery, createSecureQueryCreator, createTrackingFeature, createWebSocketClient, dateArrayQueryField, dateQueryField, decryptBearer, deepFreeze, def, detectContentTypeHeader, detectPaginationShape, dynLikePaginationAdapter, effectComputed, emptyQueryArgs, ethletePaginationAdapter, executeUntilSettled, extractExpiresInSeconds, extractFormViolations, extractHtmlErrorMessage, extractQuery, fakePaginationAdapter, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getQueryFeatureUsage, getResponseUrl, ggLikePaginationAdapter, gql, gqlDataPropertyMissingInResponse, hasHeader, htmlErrorPayload, htmlQueryErrorParser, ignoreAutoRefresh, injectInfinityQueryResponseDelay, injectQueryContext, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, invalidStateInsideSecureExecuteFactory, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCreateGqlQueryOptions, isCustomHeaderAuthProvider, isDateShapedLeaf, isEmptyString, isGqlQueryConfig, isHtmlErrorPayload, isLegacyQuery, isNaN, isPageOutOfRangeError, isQuery, isQueryCollection, isQueryDevtoolsFaultArmed, isQueryErrorResponse, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, isUnderInvalidatedUrl, legacyPrepareWithoutInjectionContext, mapToPaginated, mapViolationsToFormErrors, maybeExecute, measureQueryDevtoolsPayload, mergeHeaders, nestedEffect, numberArrayQueryField, pagedQueryStackNextPageCalledWithoutPreviousPage, pagedQueryStackPageBiggerThanTotalPages, pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, pathParamsMissingInRouteFunctionError, provideInfinityQueryResponseDelay, provideLegacyPrepareFallback, provideQueryClientForDevtools, provideQueryDevtools, queryArrayComputed, queryClientFeatureUsedMultipleTimes, queryComputed, queryComputedTillTruthy, queryDevtoolsEntries, queryDevtoolsFaults, queryErrorMessage, queryErrorMessages, queryExecute, queryFeatureUsedMultipleTimes, queryField, querySequence, querySequenceAlreadyRunning, queryStackTotalQueriesAndExpectedQueriesMismatch, queryStackWithArgsUsed, queryStackWithResponseUpdateUsed, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, registerQueryErrorParser, removeFrom, request, resetExecuteState, resetPageOnError, resolveInvalidationUrl, searchQueryField, serializeBody, setDefaultQueryRetryFn, setQueryDevtoolsFault, setupQueryDependencies, setupQueryExecuteState, setupQueryState, shouldAutoExecuteGqlQuery, shouldAutoExecuteQuery, shouldCacheQuery, shouldRetryRequest, silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, skipPaginationPageParamCalculator, smartDuplicateArrayItem, sortQueryField, splitQueryConfig, stringArrayQueryField, stringifyQueryRouteParts, sumQueryDevtoolsStats, switchQueryCollectionState, switchQueryState, symfonyQueryErrorParser, takeUntilResponse, toQuerySignal, toQuerySubject, tokensNotAvailableInsideAuthAndExec, transformArrayResponse, transformExecStateToQueryState, transformGql, transformMethod, transformPaginatedResponse, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray, uncacheableRequestHasAllowCacheParam, uncacheableRequestHasCacheKeyParam, unwrapQuerySyncMessage, v2BuildQueryCacheKey, v2ExtractExpiresInSeconds, v2ShouldCacheQuery, v2ShouldRetryRequest, validateWithQuery, validateWithV2Query, withArgs, withArgsQueryFeatureMissingButRouteIsFunction, withAuthenticationQuery, withAutoRefresh, withAutoRefreshUsedInManualQuery, withAutoRefreshUsedOnUnsupportedHttpMethod, withBearerAuthMultiTabSync, withDefaultRetry, withErrorHandling, withEthleteApiErrors, withHtmlErrorParsing, withInactivityLogout, withLogging, withMultiTabSync, withPageResetOnError, withPersistentAuth, withPolling, withPollingUsedOnUnsupportedHttpMethod, withQueryPersistence, withRefreshQuery, withResponseUpdate, withSuccessHandling, withSymfonyErrors, withTokenExpirationWarning, withTokenRevocation, withTracking, wrapAsObservableSignal, wrapQuerySyncMessage };
7396
- export type { AnyBearerAuthProvider, AnyCreateBearerAuthProviderResult, AnyCreateGqlQueryCreatorOptions, AnyCreateQueryClientResult, AnyGqlQueryConfig, AnyInfinityQuery, AnyInfinityQueryConfig, AnyLegacyQuery, AnyLegacyQueryCreator, AnyNewQuery, AnyPagedQueryStack, AnyQueryBuilder, AnyQueryClient, AnyQueryCollection, AnyQueryCollectionData, AnyQueryCollectionResponse, AnyQueryCreator, AnyQueryCreatorCollection, AnyQueryForm, AnyQuerySnapshot, AnyQueryStack, AnyRestQueryConfig, AnyRoute, AnyV2Query, AnyV2QueryCreator, AnyWebSocketClient, AppendItemsLocation, ApplyExternalResponseOptions, ApplyPersistedResponseOptions, AuthProvider, AuthProviderBasicConfig, AuthProviderBearerConfig, AuthProviderCustomHeaderConfig, AuthQueryBuilder, AuthQueryConfig, BaseArguments, BaseQueryCreatorFactoryOptions, BaseQueryCreatorOptions, BaseQueryCreatorOptionsSubtle, BearerAuthExecutionState, BearerAuthExecutionStateError, BearerAuthExecutionStateLoading, BearerAuthExecutionStateLogout, BearerAuthExecutionStateSuccess, BearerAuthExecutionStateTokenSeed, BearerAuthFeature, BearerAuthMultiTabSyncConfig, BearerAuthMultiTabSyncFeature, BearerAuthProvider, BearerAuthProviderEarlySetup, BearerAuthProviderEarlySetupContext, BearerAuthProviderEarlySetupResult, BearerAuthProviderFeatureContext, BearerAuthProviderOf, BearerAuthProviderQueryContext, BearerAuthProviderRef, BearerAuthProviderTokens, BearerRefreshConfig, BodyType, BuildQueryStringConfig, CacheAdapterFn, Cancelled, ClassValidatorError, ClearQueryArgs, ConstructQuery, CreateBaseQueryOptions, CreateBearerAuthProviderConfig, CreateGqlQueryCreatorOptions, CreateGqlQueryExecuteOptions, CreateGqlQueryOptions, CreateHttpRequestDependencies, CreateHttpRequestOptions, CreateIndexedDbQueryPersistenceAdapterOptions, CreateLegacyQueryCreatorOptions, CreateLegacyQueryOptions, CreatePagedQueryStackOptions, CreateQueryClientConfigOptions, CreateQueryCreatorOptions, CreateQueryExecuteOptions, CreateQueryFormConfig, CreateQueryObjectOptions, CreateQueryOptions, CreateQueryPersistenceEngineOptions, CreateQueryRepositoryConfig, CreateQuerySnapshotOptions, CreateQueryStackOptions, CreateQuerySyncEngineOptions, CreateSecureGqlQueryExecuteOptions, CreateSecureGqlQueryOptions, CreateSecureQueryExecuteOptions, CreateSecureQueryOptions, CreateWebSocketClientConfigOptions, CreateWebSocketClientTransport, DescribableFeature, DestroyCleanupCallback, EmptyObject, EntityGetParams, EntityIdParams, EntityKey, EntitySetParams, EntityStoreConfig, ExecuteFactory, ExecuteQueryOptions, ExtractQueryArgs, ExtractQueryKey, Failure, FeatureRegistry, GQL, GqlQueryArgs, GqlQueryConfig, GqlQueryConfigWithoutMethod, GqlQueryMethod, GqlQueryTransport, GqlTransferOption, GqlTransformer, GqlVariablesType, HttpErrorEvent, HttpRequest, HttpRequestLoadingProgressState, HttpRequestLoadingState, HttpRequestResponseType, HttpRequestRetryState, HttpRequestSubtle, HttpRequestTransferCacheConfig, InactivityLogoutConfig, InactivityLogoutFeature, InfinityQueryConfig, InfinityQueryConfigType, InfinityQueryOf, InfinityQueryParamLocation, InsertFromConfig, InternalCreateGqlQueryCreatorOptions, InternalCreateQueryCreatorOptions, InternalQueryExecute, InternalSecureCreateGqlQueryCreatorOptions, InternalSecureCreateQueryCreatorOptions, InternalWebSocketRoom, JsonPath, LeaderInstanceCountChangeEventData, LeaderStatusChangeEventData, LegacyArgumentsOfQueryArgs, LegacyQueryPrepareFn, Loading, MapViolationsToFormErrorsOptions, Method, ObservableSignal, OptionalQueryFieldOptions, OverrideOp, PageParamCalculatorOptions, PagedQueryStack, PagedQueryStackDirection, PagedQueryStackExecuteOptions, PagedQueryStackResetOptions, PartialXhrState, PathParams, PathParamsType, PersistedQueryBody, PersistedQueryEntry, PersistedQueryEntryMeta, PersistentAuthConfig, PersistentAuthFeature, PollConfig, Prepared, Query, QueryArgs, QueryArgsOf, QueryArgsOfLegacyArguments, QueryAutoRefreshConfig, QueryBase, QueryClient, QueryClientDevtoolsOptions, QueryClientErrorPipelineFeature, QueryClientFeature, QueryClientFeatureContext, QueryClientFeatureFn, QueryClientMultiTabSyncFeature, QueryClientPersistenceFeature, QueryClientRef, QueryClientSubtle, QueryCollectionKeysOf, QueryCollectionOf, QueryCollectionWithNullableQuery, QueryConfig, QueryConfigBase, QueryConfigWithoutMethod, QueryContainerConfig, QueryContext, QueryCreator, QueryDataOf, QueryDependencies, QueryDevtoolsAuthQuery, QueryDevtoolsEntry, QueryDevtoolsEntryKind, QueryDevtoolsEntryMeta, QueryDevtoolsFault, QueryDevtoolsFaultTarget, QueryDevtoolsFeature, QueryDevtoolsFeatureDescriber, QueryDevtoolsFeatureDetail, QueryDevtoolsFormField, QueryDevtoolsFormHandle, QueryDevtoolsFormLinksHandle, QueryDevtoolsFormLinksRecorder, QueryDevtoolsOverrideEntry, QueryDevtoolsOverridesHandle, QueryDevtoolsOverridesRecorder, QueryDevtoolsPayload, QueryDevtoolsRegistrar, QueryDevtoolsRegistration, QueryDevtoolsResolvedFault, QueryDevtoolsRoutePart, QueryDevtoolsRun, QueryDevtoolsRunStatus, QueryDevtoolsStats, QueryDevtoolsStatsHandle, QueryDevtoolsStatsRecorder, QueryDirectiveContext, QueryDirectiveType, QueryEntityConfig, QueryErrorParser, QueryErrorResponse, QueryErrorResponseItem, QueryErrorResponseList, QueryErrorResponseSingle, QueryExecute, QueryExecuteArgs, QueryExecuteEventData, QueryExecuteOptions, QueryExecuteState, QueryExecutionState, QueryExecutionStateFailure, QueryExecutionStateLoading, QueryExecutionStateLoadingWithCachedResponse, QueryExecutionStateLoadingWithNoResponse, QueryExecutionStateSuccess, QueryFailureEventData, QueryFeature, QueryFeatureContext, QueryFeatureFlags, QueryFeatureFn, QueryFieldConfig, QueryFieldDef, QueryFieldOptions, QueryFieldValue, QueryFilterConfig, QueryFormBranch, QueryFormChange, QueryFormFields, QueryFormGroup, QueryFormGroupControls, QueryFormModel, QueryFormObserveOptions, QueryFormOf, QueryFormOptions, QueryFormSignalsObserveOptions, QueryFormSignalsWriteOptions, QueryFormValue, QueryFormValueEvent, QueryFormWriteOptions, QueryInvalidationCandidate, QueryInvalidationFilterFn, QueryInvalidationOptions, QueryKey, QueryKeyLockHold, QueryKeyLockManager, QueryKeyLockState, QueryMethod, QueryMockConfig, QueryMultiTabSyncConfig, QueryOf, QueryParams, QueryParamsType, QueryPersistenceAdapter, QueryPersistenceCandidate, QueryPersistenceConfig, QueryPersistenceEngine, QueryPrepareFn, QueryRefreshCause, QueryRegistry, QueryRegistryEntry, QueryRepository, QueryRepositoryCacheEntry, QueryRepositoryDependencies, QueryRepositoryEvent, QueryRepositoryItem, QueryRepositoryRefreshFilterFn, QueryRepositoryRequestOptions, QueryRepositorySubtle, QueryResponseOf, QueryRouteOf, QuerySequence, QuerySequenceResult, QuerySequenceStatus, QuerySequenceStepArgs, QuerySnapshot, QueryStack, QueryStackSubtle, QueryState, QueryStateMeta, QueryStateResponseOf, QueryStateSignal, QueryStateSubtle, QueryStateSuccessMeta, QueryStoreIdOf, QueryStoreOf, QuerySubtle, QuerySuccessEventData, QuerySyncEngine, QuerySyncEnvelope, QuerySyncInvalidateMessage, QuerySyncMessage, QuerySyncMessageListener, QuerySyncMutation, QuerySyncMutationFilterFn, QuerySyncMutationMessage, QuerySyncRefreshCandidate, QuerySyncRefreshOnMutationConfig, QuerySyncResponseMessage, QuerySyncTransport, QueryTrigger, RawResponseType, ReadonlyQuery, RemoveFromConfig, RequestArgs, RequestConfig, RequestError, RequestEvent, RequestHeaders, RequestHeadersMethodMap, RequestHttpEvent, RequestProgress, RequestRetryFn, RequestRetryFnConfig, RequestRetryFnResult, RequiresTransform, ResetExecuteStateOptions, ResetPageOnErrorOperatorConfig, ResponseType, RestQueryConfig, RouteString, RouteType, RunQueryCreator, RunQueryExecuteOptions, SecureExecuteFactoryOptions, ServerValidationError, ServerViolationValidationError, SetupQueryDependenciesOptions, SetupQueryStateOptions, ShouldRetryRequestFn, ShouldRetryRequestOptions, ShouldRetryRequestResult, SocketMessageView, Sort, SortDirection, Success, SymfonyError, SymfonyErrorTrace, TokenExpirationWarningConfig, TokenExpirationWarningFeature, TokenRefreshEventData, TokenRefreshQueryBuilder, TokenRefreshQueryConfig, TokenResponse, TokenRevocationConfig, TokenRevocationFeature, TotalPagesExtractorOptions, TrackingConfig, TrackingEventDataMap, TrackingEventHandler, TrackingEventName, TrackingFeature, TransformedGqlQuery, V2CacheAdapterFn, V2PrepareArgsOf, V2QueryArgsOf, V2QueryClientConfig, V2QueryConfig, V2QueryState, V2RouteString, V2RouteType, ValidateWithQueryConfig, ValidateWithV2QueryConfig, WebSocketClient, WebSocketClientIo, WebSocketClientIoOptions, WebSocketClientResult, WebSocketClientSocket, WebSocketClientSubtle, WebSocketDevtoolsHandle, WebSocketDevtoolsMessage, WebSocketRoom, WithAutoRefreshFeatureOptions, WithBody, WithConfig, WithErrorHandlingFeatureOptions, WithHeaders, WithInjector, WithLegacyConfig, WithLoggingFeatureOptions, WithMock, WithPageResetOnErrorFeatureOptions, WithPathParams, WithPollingFeatureOptions, WithQueryParams, WithResponseUpdateFeatureFnData, WithResponseUpdateFeatureOptions, WithSuccessHandlingFeatureOptions, WithVariables };
7622
+ export { AuthBearerRefreshStrategy, BasicAuthProvider, BearerAuthFeatureType, BooleanArrayQueryField, CLEAR_QUERY_ARGS, CustomHeaderAuthProvider, DEFAULT_KEEP_UNUSED_FOR, DEFAULT_QUERY_PERSISTENCE_MAX_AGE, DEFAULT_QUERY_PERSISTENCE_MAX_ENTRIES, DEFAULT_QUERY_PERSISTENCE_VERSION, DEFAULT_QUERY_PERSISTENCE_WRITE_DELAY, DateArrayQueryField, DateQueryField, EMPTY_QUERY_DEVTOOLS_FAULT, EntityStore, IGNORED_FILTER_COUNT_FIELDS, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, LegacyQuery, LegacyQueryCreator, MAX_QUERY_DEVTOOLS_TOMBSTONES, MAX_UNUSED_ENTRIES, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, QUERY_DEVTOOLS_FAULT_STATUSES, QUERY_PERSISTENCE_STORE_VERSION, QUERY_SYNC_PROTOCOL_VERSION, QueryClientFeatureType, QueryDevtoolsComponent, QueryDirective, QueryFeatureType, QueryField, QueryForm, QueryRuntimeErrorCode, QueryShortNamePipe, QueryStateType, QueryStore, SERVER_ERROR_KIND, SERVER_VIOLATION_ERROR_KIND, SPEED_BUFFER_TIME_IN_MS, SearchQueryField, SortQueryField, StringArrayQueryField, V2BearerAuthProvider, V2Query, V2QueryClient, V2QueryCreator, addQueryContainerHandling, applyQueryDevtoolsOverrides, applyQueryFeatures, authExtractTokensResponseMissingAccessToken, authExtractTokensResponseMissingRefreshToken, authExtractTokensResponseNotObject, authProviderFeatureUsedMultipleTimes, booleanArrayQueryField, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, circularQueryDependency, circularQueryDependencyChecker, clearQueryDevtoolsFaults, clearQueryDevtoolsTombstones, collectLeafPaths, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, contentfulGqlLikePaginationAdapter, createBaseQuery, createBaseQueryCreator, createBearerAuthProvider, createDeleteQuery, createExecuteFn, createGetQuery, createGqlExecuteFn, createGqlMutationViaGet, createGqlMutationViaPost, createGqlQuery, createGqlQueryCreator, createGqlQueryViaGet, createGqlQueryViaPost, createHttpRequest, createIndexedDbQueryPersistenceAdapter, createInfinityQueryConfig, createLegacyQueryCreator, createNoopQueryPersistenceAdapter, createPagedQueryStack, createPatchQuery, createPersistentAuthFeature, createPostQuery, createPutQuery, createQuery, createQueryClient, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, createQueryContext, createQueryCreator, createQueryErrorResponse, createQueryFeature, createQueryInvalidationFilter, createQueryKeyLockManager, createQueryObject, createQueryPersistenceEngine, createQueryRepository, createQuerySnapshotFn, createQueryStack, createQuerySyncEngine, createQuerySyncTransport, createSecureDeleteQuery, createSecureExecuteFactory, createSecureExecuteFn, createSecureGetQuery, createSecureGqlExecuteFn, createSecureGqlMutationViaGet, createSecureGqlMutationViaPost, createSecureGqlQuery, createSecureGqlQueryCreator, createSecureGqlQueryViaGet, createSecureGqlQueryViaPost, createSecurePatchQuery, createSecurePostQuery, createSecurePutQuery, createSecureQuery, createSecureQueryCreator, createTrackingFeature, createWebSocketClient, dateArrayQueryField, dateQueryField, decryptBearer, deepFreeze, def, defineQueryForm, detectContentTypeHeader, detectPaginationShape, dynLikePaginationAdapter, effectComputed, emptyQueryArgs, ethletePaginationAdapter, executeUntilSettled, extractExpiresInSeconds, extractFormViolations, extractHtmlErrorMessage, extractQuery, fakePaginationAdapter, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, generateQueryDevtoolsNumberPreset, generateQueryDevtoolsStringPreset, getDefaultHeaders, getQueryFeatureUsage, getResponseUrl, ggLikePaginationAdapter, gql, gqlDataPropertyMissingInResponse, hasHeader, hasQueryDevtoolsOverridesAtPath, htmlErrorPayload, htmlQueryErrorParser, ignoreAutoRefresh, injectInfinityQueryResponseDelay, injectQueryContext, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, invalidStateInsideSecureExecuteFactory, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCreateGqlQueryOptions, isCustomHeaderAuthProvider, isDateShapedLeaf, isEmptyString, isGqlQueryConfig, isHtmlErrorPayload, isLegacyQuery, isNaN, isPageOutOfRangeError, isQuery, isQueryCollection, isQueryDevtoolsFaultArmed, isQueryErrorResponse, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, isUnderInvalidatedUrl, legacyPrepareWithoutInjectionContext, mapToPaginated, mapViolationsToFormErrors, maybeExecute, measureQueryDevtoolsPayload, mergeHeaders, nestedEffect, numberArrayQueryField, pagedQueryStackNextPageCalledWithoutPreviousPage, pagedQueryStackPageBiggerThanTotalPages, pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, pathParamsMissingInRouteFunctionError, provideInfinityQueryResponseDelay, provideLegacyPrepareFallback, provideQueryClientForDevtools, provideQueryDevtools, queryArrayComputed, queryClientFeatureUsedMultipleTimes, queryComputed, queryComputedTillTruthy, queryDevtoolsEntries, queryDevtoolsFaults, queryDevtoolsResponseHistory, queryErrorMessage, queryErrorMessages, queryExecute, queryFeatureUsedMultipleTimes, queryField, querySequence, querySequenceAlreadyRunning, queryStackTotalQueriesAndExpectedQueriesMismatch, queryStackWithArgsUsed, queryStackWithResponseUpdateUsed, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, registerQueryErrorParser, removeFrom, request, resetExecuteState, resetPageOnError, resolveInvalidationUrl, searchQueryField, serializeBody, setDefaultQueryRetryFn, setQueryDevtoolsFault, setupQueryDependencies, setupQueryExecuteState, setupQueryState, shouldAutoExecuteGqlQuery, shouldAutoExecuteQuery, shouldCacheQuery, shouldRetryRequest, silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, skipPaginationPageParamCalculator, smartDuplicateArrayItem, snapshotQueryDevtoolsHandle, sortQueryField, splitQueryConfig, stringArrayQueryField, stringifyQueryRouteParts, sumQueryDevtoolsStats, switchQueryCollectionState, switchQueryState, symfonyQueryErrorParser, takeUntilResponse, toQuerySignal, toQuerySubject, tokensNotAvailableInsideAuthAndExec, tombstoneOf, transformArrayResponse, transformExecStateToQueryState, transformGql, transformMethod, transformPaginatedResponse, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray, uncacheableRequestHasAllowCacheParam, uncacheableRequestHasCacheKeyParam, unwrapQuerySyncMessage, v2BuildQueryCacheKey, v2ExtractExpiresInSeconds, v2ShouldCacheQuery, v2ShouldRetryRequest, validateWithQuery, validateWithV2Query, withArgs, withArgsQueryFeatureMissingButRouteIsFunction, withAuthenticationQuery, withAutoRefresh, withAutoRefreshUsedInManualQuery, withAutoRefreshUsedOnUnsupportedHttpMethod, withBearerAuthMultiTabSync, withDefaultRetry, withErrorHandling, withEthleteApiErrors, withHtmlErrorParsing, withInactivityLogout, withLogging, withMultiTabSync, withPageResetOnError, withPersistentAuth, withPolling, withPollingUsedOnUnsupportedHttpMethod, withQueryPersistence, withRefreshQuery, withResponseUpdate, withSuccessHandling, withSymfonyErrors, withTokenExpirationWarning, withTokenRevocation, withTracking, wrapAsObservableSignal, wrapQuerySyncMessage };
7623
+ export type { AnyBearerAuthProvider, AnyCreateBearerAuthProviderResult, AnyCreateGqlQueryCreatorOptions, AnyCreateQueryClientResult, AnyGqlQueryConfig, AnyInfinityQuery, AnyInfinityQueryConfig, AnyLegacyQuery, AnyLegacyQueryCreator, AnyNewQuery, AnyPagedQueryStack, AnyQueryBuilder, AnyQueryClient, AnyQueryCollection, AnyQueryCollectionData, AnyQueryCollectionResponse, AnyQueryCreator, AnyQueryCreatorCollection, AnyQueryForm, AnyQuerySnapshot, AnyQueryStack, AnyRestQueryConfig, AnyRoute, AnyV2Query, AnyV2QueryCreator, AnyWebSocketClient, AppendItemsLocation, ApplyExternalResponseOptions, ApplyPersistedResponseOptions, AuthProvider, AuthProviderBasicConfig, AuthProviderBearerConfig, AuthProviderCustomHeaderConfig, AuthQueryBuilder, AuthQueryConfig, BaseArguments, BaseQueryCreatorFactoryOptions, BaseQueryCreatorOptions, BaseQueryCreatorOptionsSubtle, BearerAuthExecutionState, BearerAuthExecutionStateError, BearerAuthExecutionStateLoading, BearerAuthExecutionStateLogout, BearerAuthExecutionStateSuccess, BearerAuthExecutionStateTokenSeed, BearerAuthFeature, BearerAuthMultiTabSyncConfig, BearerAuthMultiTabSyncFeature, BearerAuthProvider, BearerAuthProviderEarlySetup, BearerAuthProviderEarlySetupContext, BearerAuthProviderEarlySetupResult, BearerAuthProviderFeatureContext, BearerAuthProviderOf, BearerAuthProviderQueryContext, BearerAuthProviderRef, BearerAuthProviderTokens, BearerAuthRefreshCoordination, BearerAuthSessionEndCause, BearerAuthSessionStatus, BearerRefreshConfig, BodyType, BuildQueryStringConfig, CacheAdapterFn, Cancelled, ClassValidatorError, ClearQueryArgs, ConstructQuery, CreateBaseQueryOptions, CreateBearerAuthProviderConfig, CreateGqlQueryCreatorOptions, CreateGqlQueryExecuteOptions, CreateGqlQueryOptions, CreateHttpRequestDependencies, CreateHttpRequestOptions, CreateIndexedDbQueryPersistenceAdapterOptions, CreateLegacyQueryCreatorOptions, CreateLegacyQueryOptions, CreatePagedQueryStackOptions, CreateQueryClientConfigOptions, CreateQueryCreatorOptions, CreateQueryExecuteOptions, CreateQueryObjectOptions, CreateQueryOptions, CreateQueryPersistenceEngineOptions, CreateQueryRepositoryConfig, CreateQuerySnapshotOptions, CreateQueryStackOptions, CreateQuerySyncEngineOptions, CreateSecureGqlQueryExecuteOptions, CreateSecureGqlQueryOptions, CreateSecureQueryExecuteOptions, CreateSecureQueryOptions, CreateWebSocketClientConfigOptions, CreateWebSocketClientTransport, DefineQueryFormConfig, DescribableFeature, DestroyCleanupCallback, EmptyObject, EntityGetParams, EntityIdParams, EntityKey, EntitySetParams, EntityStoreConfig, ExecuteFactory, ExecuteQueryOptions, ExtractQueryArgs, ExtractQueryKey, Failure, FeatureRegistry, GQL, GqlQueryArgs, GqlQueryConfig, GqlQueryConfigWithoutMethod, GqlQueryMethod, GqlQueryTransport, GqlTransferOption, GqlTransformer, GqlVariablesType, HttpErrorEvent, HttpRequest, HttpRequestLoadingProgressState, HttpRequestLoadingState, HttpRequestResponseType, HttpRequestRetryState, HttpRequestSubtle, HttpRequestTransferCacheConfig, InactivityLogoutConfig, InactivityLogoutFeature, InfinityQueryConfig, InfinityQueryConfigType, InfinityQueryOf, InfinityQueryParamLocation, InsertFromConfig, InternalCreateGqlQueryCreatorOptions, InternalCreateQueryCreatorOptions, InternalQueryExecute, InternalSecureCreateGqlQueryCreatorOptions, InternalSecureCreateQueryCreatorOptions, InternalWebSocketRoom, JsonPath, LeaderInstanceCountChangeEventData, LeaderStatusChangeEventData, LegacyArgumentsOfQueryArgs, LegacyQueryPrepareFn, Loading, LogoutEventData, MapViolationsToFormErrorsOptions, Method, ObservableSignal, OptionalQueryFieldOptions, OverrideOp, PageParamCalculatorOptions, PagedQueryStack, PagedQueryStackDirection, PagedQueryStackExecuteOptions, PagedQueryStackResetOptions, PartialXhrState, PathParams, PathParamsType, PersistedQueryBody, PersistedQueryEntry, PersistedQueryEntryMeta, PersistentAuthConfig, PersistentAuthFeature, PollConfig, Prepared, Query, QueryArgs, QueryArgsOf, QueryArgsOfLegacyArguments, QueryAutoRefreshConfig, QueryBase, QueryClient, QueryClientDevtoolsOptions, QueryClientErrorPipelineFeature, QueryClientFeature, QueryClientFeatureContext, QueryClientFeatureFn, QueryClientMultiTabSyncFeature, QueryClientPersistenceFeature, QueryClientRef, QueryClientSubtle, QueryCollectionKeysOf, QueryCollectionOf, QueryCollectionWithNullableQuery, QueryConfig, QueryConfigBase, QueryConfigWithoutMethod, QueryContainerConfig, QueryContext, QueryCreator, QueryDataOf, QueryDependencies, QueryDevtoolsAuthQuery, QueryDevtoolsEntry, QueryDevtoolsEntryKind, QueryDevtoolsEntryMeta, QueryDevtoolsFault, QueryDevtoolsFaultTarget, QueryDevtoolsFeature, QueryDevtoolsFeatureDescriber, QueryDevtoolsFeatureDetail, QueryDevtoolsFormField, QueryDevtoolsFormHandle, QueryDevtoolsFormLinksHandle, QueryDevtoolsFormLinksRecorder, QueryDevtoolsOptions, QueryDevtoolsOverrideEntry, QueryDevtoolsOverridesHandle, QueryDevtoolsOverridesRecorder, QueryDevtoolsPayload, QueryDevtoolsRegistrar, QueryDevtoolsRegistration, QueryDevtoolsResolvedFault, QueryDevtoolsRoutePart, QueryDevtoolsRun, QueryDevtoolsRunError, QueryDevtoolsRunStatus, QueryDevtoolsStats, QueryDevtoolsStatsHandle, QueryDevtoolsStatsRecorder, QueryDirectiveContext, QueryDirectiveType, QueryEntityConfig, QueryErrorParser, QueryErrorResponse, QueryErrorResponseItem, QueryErrorResponseList, QueryErrorResponseSingle, QueryExecute, QueryExecuteArgs, QueryExecuteEventData, QueryExecuteOptions, QueryExecuteState, QueryExecutionState, QueryExecutionStateFailure, QueryExecutionStateLoading, QueryExecutionStateLoadingWithCachedResponse, QueryExecutionStateLoadingWithNoResponse, QueryExecutionStateSuccess, QueryFailureEventData, QueryFeature, QueryFeatureContext, QueryFeatureFlags, QueryFeatureFn, QueryFieldConfig, QueryFieldDef, QueryFieldOptions, QueryFieldValue, QueryFilterConfig, QueryFormBranch, QueryFormChange, QueryFormFields, QueryFormGroup, QueryFormGroupControls, QueryFormModel, QueryFormObserveOptions, QueryFormOf, QueryFormOptions, QueryFormSignals, QueryFormSignalsObserveOptions, QueryFormSignalsWriteOptions, QueryFormValue, QueryFormValueEvent, QueryFormWriteOptions, QueryInvalidationCandidate, QueryInvalidationFilterFn, QueryInvalidationOptions, QueryKey, QueryKeyLockHold, QueryKeyLockManager, QueryKeyLockState, QueryMethod, QueryMockConfig, QueryMultiTabSyncConfig, QueryOf, QueryParams, QueryParamsType, QueryPersistenceAdapter, QueryPersistenceCandidate, QueryPersistenceConfig, QueryPersistenceEngine, QueryPrepareFn, QueryRefreshCause, QueryRegistry, QueryRegistryEntry, QueryRepository, QueryRepositoryCacheEntry, QueryRepositoryDependencies, QueryRepositoryEntryDestroyedCause, QueryRepositoryEvent, QueryRepositoryItem, QueryRepositoryRefreshFilterFn, QueryRepositoryRequestOptions, QueryRepositorySubtle, QueryResponseOf, QueryRouteOf, QuerySequence, QuerySequenceResult, QuerySequenceStatus, QuerySequenceStepArgs, QuerySnapshot, QueryStack, QueryStackSubtle, QueryState, QueryStateMeta, QueryStateResponseOf, QueryStateSignal, QueryStateSubtle, QueryStateSuccessMeta, QueryStoreIdOf, QueryStoreOf, QuerySubtle, QuerySuccessEventData, QuerySyncEngine, QuerySyncEnvelope, QuerySyncInvalidateMessage, QuerySyncMessage, QuerySyncMessageListener, QuerySyncMutation, QuerySyncMutationFilterFn, QuerySyncMutationMessage, QuerySyncRefreshCandidate, QuerySyncRefreshOnMutationConfig, QuerySyncResponseMessage, QuerySyncTransport, QueryTrigger, RawResponseType, ReadonlyQuery, RefreshFailure, RemoveFromConfig, RequestArgs, RequestConfig, RequestError, RequestEvent, RequestHeaders, RequestHeadersMethodMap, RequestHttpEvent, RequestProgress, RequestRetryFn, RequestRetryFnConfig, RequestRetryFnResult, RequiresTransform, ResetExecuteStateOptions, ResetPageOnErrorOperatorConfig, ResponseType, RestQueryConfig, RouteString, RouteType, RunQueryCreator, RunQueryExecuteOptions, SecureExecuteFactoryOptions, ServerValidationError, ServerViolationValidationError, SetupQueryDependenciesOptions, SetupQueryStateOptions, ShouldRetryRequestFn, ShouldRetryRequestOptions, ShouldRetryRequestResult, SocketMessageView, Sort, SortDirection, Success, SymfonyError, SymfonyErrorTrace, TokenExpirationWarningConfig, TokenExpirationWarningFeature, TokenRefreshEventData, TokenRefreshQueryBuilder, TokenRefreshQueryConfig, TokenResponse, TokenRevocationConfig, TokenRevocationFeature, TotalPagesExtractorOptions, TrackingConfig, TrackingEventDataMap, TrackingEventHandler, TrackingEventName, TrackingFeature, TransformedGqlQuery, V2CacheAdapterFn, V2PrepareArgsOf, V2QueryArgsOf, V2QueryClientConfig, V2QueryConfig, V2QueryState, V2RouteString, V2RouteType, ValidateWithQueryConfig, ValidateWithV2QueryConfig, WebSocketClient, WebSocketClientIo, WebSocketClientIoOptions, WebSocketClientResult, WebSocketClientSocket, WebSocketClientSubtle, WebSocketDevtoolsHandle, WebSocketDevtoolsMessage, WebSocketRoom, WithAutoRefreshFeatureOptions, WithBody, WithConfig, WithErrorHandlingFeatureOptions, WithHeaders, WithInjector, WithLegacyConfig, WithLoggingFeatureOptions, WithMock, WithPageResetOnErrorFeatureOptions, WithPathParams, WithPollingFeatureOptions, WithQueryParams, WithResponseUpdateFeatureFnData, WithResponseUpdateFeatureOptions, WithSuccessHandlingFeatureOptions, WithVariables };