@ethlete/query 5.40.0 → 5.41.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (107) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/fesm2022/ethlete-query.mjs +55 -41
  3. package/fesm2022/ethlete-query.mjs.map +1 -1
  4. package/index.d.ts +3600 -20
  5. package/package.json +5 -5
  6. package/lib/auth/auth-provider.types.d.ts +0 -133
  7. package/lib/auth/auth-provider.utils.d.ts +0 -9
  8. package/lib/auth/basic-auth-provider.d.ts +0 -10
  9. package/lib/auth/bearer-auth-provider.d.ts +0 -23
  10. package/lib/auth/custom-header-auth-provider.d.ts +0 -9
  11. package/lib/auth/index.d.ts +0 -5
  12. package/lib/class-validator/class-validator.types.d.ts +0 -6
  13. package/lib/class-validator/class-validator.utils.d.ts +0 -2
  14. package/lib/class-validator/index.d.ts +0 -2
  15. package/lib/devtools/components/query-devtools/index.d.ts +0 -1
  16. package/lib/devtools/components/query-devtools/query-devtools.component.d.ts +0 -151
  17. package/lib/devtools/pipes/index.d.ts +0 -1
  18. package/lib/devtools/pipes/query-short-name.pipe.d.ts +0 -8
  19. package/lib/devtools/utils/index.d.ts +0 -1
  20. package/lib/devtools/utils/query-client.utils.d.ts +0 -12
  21. package/lib/directives/index.d.ts +0 -3
  22. package/lib/directives/infinity-query-trigger.directive.d.ts +0 -15
  23. package/lib/directives/infinity-query.directive.d.ts +0 -49
  24. package/lib/directives/query.directive.d.ts +0 -64
  25. package/lib/entity/entity-store.d.ts +0 -25
  26. package/lib/entity/entity.types.d.ts +0 -25
  27. package/lib/entity/entity.utils.d.ts +0 -12
  28. package/lib/entity/index.d.ts +0 -3
  29. package/lib/experimental/auth/bearer-auth-provider-config.d.ts +0 -123
  30. package/lib/experimental/auth/bearer-auth-provider.d.ts +0 -69
  31. package/lib/experimental/auth/index.d.ts +0 -2
  32. package/lib/experimental/gql/gql-query-creator-templates.d.ts +0 -12
  33. package/lib/experimental/gql/gql-query-creator.d.ts +0 -14
  34. package/lib/experimental/gql/gql-query-execute.d.ts +0 -11
  35. package/lib/experimental/gql/gql-query.d.ts +0 -12
  36. package/lib/experimental/gql/index.d.ts +0 -4
  37. package/lib/experimental/http/http-request.d.ts +0 -119
  38. package/lib/experimental/http/index.d.ts +0 -21
  39. package/lib/experimental/http/paged-query-stack.d.ts +0 -172
  40. package/lib/experimental/http/query-client-config.d.ts +0 -45
  41. package/lib/experimental/http/query-client.d.ts +0 -10
  42. package/lib/experimental/http/query-creator-templates.d.ts +0 -24
  43. package/lib/experimental/http/query-creator.d.ts +0 -82
  44. package/lib/experimental/http/query-dependencies.d.ts +0 -26
  45. package/lib/experimental/http/query-error-response.d.ts +0 -19
  46. package/lib/experimental/http/query-errors.d.ts +0 -56
  47. package/lib/experimental/http/query-execute-utils.d.ts +0 -42
  48. package/lib/experimental/http/query-execute.d.ts +0 -25
  49. package/lib/experimental/http/query-features.d.ts +0 -121
  50. package/lib/experimental/http/query-repository.d.ts +0 -69
  51. package/lib/experimental/http/query-snapshot.d.ts +0 -10
  52. package/lib/experimental/http/query-stack.d.ts +0 -109
  53. package/lib/experimental/http/query-state.d.ts +0 -41
  54. package/lib/experimental/http/query-utils.d.ts +0 -61
  55. package/lib/experimental/http/query.d.ts +0 -75
  56. package/lib/experimental/http/secure-query-creator.d.ts +0 -7
  57. package/lib/experimental/http/secure-query-execute.d.ts +0 -7
  58. package/lib/experimental/http/secure-query.d.ts +0 -6
  59. package/lib/experimental/index.d.ts +0 -6
  60. package/lib/experimental/interop/index.d.ts +0 -2
  61. package/lib/experimental/interop/legacy-query-creator.d.ts +0 -45
  62. package/lib/experimental/interop/legacy-query.d.ts +0 -38
  63. package/lib/experimental/pipes/index.d.ts +0 -4
  64. package/lib/experimental/pipes/parse-http-error-code-de.d.ts +0 -3
  65. package/lib/experimental/pipes/parse-http-error-code-de.pipe.d.ts +0 -12
  66. package/lib/experimental/pipes/parse-http-error-code-en.d.ts +0 -3
  67. package/lib/experimental/pipes/parse-http-error-code-en.pipe.d.ts +0 -12
  68. package/lib/experimental/ws/index.d.ts +0 -2
  69. package/lib/experimental/ws/web-socket-client-config.d.ts +0 -17
  70. package/lib/experimental/ws/web-socket-client.d.ts +0 -37
  71. package/lib/experimental/ws/web-socket-errors.d.ts +0 -7
  72. package/lib/gql/gql.d.ts +0 -10
  73. package/lib/gql/index.d.ts +0 -1
  74. package/lib/infinite-query/index.d.ts +0 -3
  75. package/lib/infinite-query/infinity-query.d.ts +0 -30
  76. package/lib/infinite-query/infinity-query.types.d.ts +0 -105
  77. package/lib/infinite-query/infinity-query.utils.d.ts +0 -5
  78. package/lib/logger/index.d.ts +0 -1
  79. package/lib/logger/logger.d.ts +0 -12
  80. package/lib/query/index.d.ts +0 -3
  81. package/lib/query/query.d.ts +0 -60
  82. package/lib/query/query.types.d.ts +0 -397
  83. package/lib/query/query.utils.d.ts +0 -83
  84. package/lib/query-client/index.d.ts +0 -3
  85. package/lib/query-client/query-client.d.ts +0 -29
  86. package/lib/query-client/query-client.types.d.ts +0 -82
  87. package/lib/query-client/query-client.utils.d.ts +0 -4
  88. package/lib/query-creator/index.d.ts +0 -2
  89. package/lib/query-creator/query-creator.d.ts +0 -20
  90. package/lib/query-creator/query-creator.types.d.ts +0 -14
  91. package/lib/query-form/index.d.ts +0 -3
  92. package/lib/query-form/query-form.d.ts +0 -136
  93. package/lib/query-form/query-form.types.d.ts +0 -155
  94. package/lib/query-form/query-form.utils.d.ts +0 -15
  95. package/lib/query-store/index.d.ts +0 -1
  96. package/lib/query-store/query-store.d.ts +0 -31
  97. package/lib/request/index.d.ts +0 -3
  98. package/lib/request/request.d.ts +0 -3
  99. package/lib/request/request.types.d.ts +0 -131
  100. package/lib/request/request.util.d.ts +0 -26
  101. package/lib/symfony/index.d.ts +0 -2
  102. package/lib/symfony/symfony.types.d.ts +0 -19
  103. package/lib/symfony/symfony.utils.d.ts +0 -6
  104. package/lib/utils/data.utils.d.ts +0 -64
  105. package/lib/utils/deep-freeze.util.d.ts +0 -1
  106. package/lib/utils/def.util.d.ts +0 -7
  107. package/lib/utils/index.d.ts +0 -3
package/index.d.ts CHANGED
@@ -1,20 +1,3600 @@
1
- export * from './lib/auth';
2
- export * from './lib/class-validator';
3
- export * from './lib/devtools/components/query-devtools';
4
- export * from './lib/devtools/pipes';
5
- export * from './lib/devtools/utils';
6
- export * from './lib/directives';
7
- export * from './lib/entity';
8
- export * as ExperimentalQuery from './lib/experimental';
9
- export * from './lib/experimental/pipes';
10
- export * from './lib/gql';
11
- export * from './lib/infinite-query';
12
- export * from './lib/logger';
13
- export * from './lib/query';
14
- export * from './lib/query-client';
15
- export * from './lib/query-creator';
16
- export * from './lib/query-form';
17
- export * from './lib/query-store';
18
- export * from './lib/request';
19
- export * from './lib/symfony';
20
- export * from './lib/utils';
1
+ import * as rxjs from 'rxjs';
2
+ import { Observable, Subscribable, BehaviorSubject } from 'rxjs';
3
+ import * as _angular_core from '@angular/core';
4
+ import { DestroyRef, EnvironmentInjector, ɵEffectScheduler as _EffectScheduler, ErrorHandler, Signal, CreateEffectOptions, WritableSignal, EffectRef, InjectionToken, Injector, CreateComputedOptions, PipeTransform, TrackByFunction, OnInit, OnDestroy } from '@angular/core';
5
+ import { HttpStatusCode, HttpErrorResponse, HttpClient, HttpEvent, HttpHeaders, HttpContext } from '@angular/common/http';
6
+ import * as _angular_forms from '@angular/forms';
7
+ import { FormControl, FormGroup } from '@angular/forms';
8
+ import * as _ethlete_query from '@ethlete/query';
9
+ import { ToSignalOptions, ToObservableOptions } from '@angular/core/rxjs-interop';
10
+ import * as i1 from '@ethlete/core';
11
+ import { RuntimeError } from '@ethlete/core';
12
+ import { Paginated, NormalizedPagination, GgLikePaginated, DynLikePaginated, ContentfulGqlLikePaginated, FormViolationListView, FormViolationView } from '@ethlete/types';
13
+ import * as _angular_common_module_d_yNBsZ8gb from '@angular/common/module.d-yNBsZ8gb';
14
+
15
+ type EntityKey = string | number;
16
+ interface EntityStoreConfig {
17
+ name: string;
18
+ logActions?: boolean;
19
+ }
20
+ interface InsertFromConfig<OriginStoreType, OriginKeys extends keyof NonNullable<OriginStoreType>, IdFn extends (value: NonNullable<OriginStoreType>) => EntityKey | EntityKey[]> {
21
+ /**
22
+ * The property key of which the value should be replaced.
23
+ */
24
+ for: OriginKeys;
25
+ /**
26
+ * A function that returns the id of the entity. Can also return an array of ids.
27
+ */
28
+ id: IdFn;
29
+ }
30
+ interface RemoveFromConfig<T> {
31
+ /**
32
+ * The where function to select the entities to remove.
33
+ */
34
+ where: (entity: T) => boolean;
35
+ /**
36
+ * A function that returns the id of the entity.
37
+ */
38
+ id: (entity: T) => EntityKey;
39
+ }
40
+
41
+ declare class EntityStore<T> {
42
+ private readonly _config;
43
+ constructor(_config: EntityStoreConfig);
44
+ select(key: EntityKey): Observable<T | null>;
45
+ select(keys: EntityKey[]): Observable<T[]>;
46
+ select(keys: EntityKey[][]): Observable<T[]>;
47
+ /**
48
+ * **Note:** Prefer `select` over `selectWhere` when possible.
49
+ */
50
+ selectWhere(predicate: (value: T) => boolean): Observable<T[]>;
51
+ set(key: EntityKey, value: T): void;
52
+ set(keys: EntityKey[], values: T[]): void;
53
+ set(keys: EntityKey[][], values: T[][]): void;
54
+ remove(key: EntityKey): void;
55
+ remove(keys: EntityKey[]): void;
56
+ remove(keys: EntityKey[][]): void;
57
+ logState(): void;
58
+ private _select;
59
+ private _selectMany;
60
+ private _set;
61
+ private _remove;
62
+ private _normalizeKeys;
63
+ }
64
+
65
+ declare function mapToPaginated<T>(response: Paginated<T>): rxjs.OperatorFunction<unknown, Paginated<T>>;
66
+ /**
67
+ * Use an other store to represent a property of the current entity.
68
+ */
69
+ declare const insertFrom: <OriginStoreType, OriginKeys extends keyof NonNullable<OriginStoreType>, SubStoreType extends NonNullable<OriginStoreType>[OriginKeys] extends Array<infer U> ? U : NonNullable<OriginStoreType>[OriginKeys], IdFn extends (value: NonNullable<OriginStoreType>) => EntityKey | EntityKey[], ComputedEntityType extends ReturnType<IdFn> extends Array<unknown> ? OriginStoreType : Omit<OriginStoreType, OriginKeys> & { [K in OriginKeys]: SubStoreType | null; }>(store: EntityStore<SubStoreType>, { for: key, id }: InsertFromConfig<OriginStoreType, OriginKeys, IdFn>) => rxjs.OperatorFunction<OriginStoreType, ComputedEntityType | null>;
70
+ /**
71
+ * Remove entities from a store based on a where function.
72
+ */
73
+ declare const removeFrom: <T>(store: EntityStore<T>, { where, id }: RemoveFromConfig<T>) => void;
74
+
75
+ type Method = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'HEAD' | 'OPTIONS' | 'TRACE' | 'CONNECT' | 'PURGE' | 'LINK' | 'UNLINK' | 'GQL_QUERY' | 'GQL_MUTATE' | 'CUSTOM';
76
+ interface RequestError<Detail = unknown> {
77
+ url: string;
78
+ status: HttpStatusCode;
79
+ statusText: string;
80
+ detail: Detail;
81
+ httpErrorResponse: HttpErrorResponse;
82
+ }
83
+ type RequestHeaders = Record<string, string>;
84
+ type QueryParams = object;
85
+ type PathParams = Record<string, string | number>;
86
+ type CacheAdapterFn$1 = (headers: RequestHeaders) => number | null;
87
+ type RequestHeadersMethodMap = {
88
+ [M in Method]?: RequestHeaders;
89
+ };
90
+ interface PartialXhrState {
91
+ headers: RequestHeaders;
92
+ status: number;
93
+ statusText: string;
94
+ url: string;
95
+ }
96
+ interface RequestRetryFnConfig {
97
+ error: RequestError;
98
+ headers: RequestHeaders;
99
+ currentRetryCount: number;
100
+ }
101
+ interface RequestRetryFnResult {
102
+ retry: boolean;
103
+ delay?: number;
104
+ }
105
+ type RequestRetryFn = (config: RequestRetryFnConfig) => RequestRetryFnResult;
106
+ interface RequestConfig {
107
+ method: Method;
108
+ urlWithParams: string;
109
+ body?: unknown;
110
+ reportProgress?: boolean;
111
+ withCredentials?: boolean;
112
+ responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
113
+ headers?: RequestHeaders;
114
+ cacheAdapter?: CacheAdapterFn$1;
115
+ retryFn?: RequestRetryFn;
116
+ }
117
+ type RequestProgress = {
118
+ current: number;
119
+ percentage?: number;
120
+ total?: number;
121
+ };
122
+ type RequestEvent<Response = unknown> = {
123
+ type: 'start';
124
+ headers: RequestHeaders;
125
+ isRetry?: boolean;
126
+ retryNumber?: number;
127
+ retryDelay?: number;
128
+ } | {
129
+ type: 'delay-retry';
130
+ headers: RequestHeaders;
131
+ retryNumber: number;
132
+ retryDelay: number;
133
+ } | {
134
+ type: 'download-progress';
135
+ headers: RequestHeaders;
136
+ progress: RequestProgress;
137
+ partialText?: string;
138
+ } | {
139
+ type: 'upload-progress';
140
+ headers: RequestHeaders;
141
+ progress: RequestProgress;
142
+ } | {
143
+ type: 'success';
144
+ headers: RequestHeaders;
145
+ response: Response;
146
+ expiresInTimestamp?: number;
147
+ } | {
148
+ type: 'failure';
149
+ headers: RequestHeaders;
150
+ error: RequestError;
151
+ } | {
152
+ type: 'cancel';
153
+ headers: RequestHeaders;
154
+ };
155
+ interface BuildQueryStringConfig {
156
+ /**
157
+ * Object notation to use for nested objects.
158
+ *
159
+ * @example
160
+ * // dot notation
161
+ * { foo: { bar: 'baz' } } => "foo.bar=baz"
162
+ *
163
+ * @example
164
+ * // bracket notation
165
+ * { foo: { bar: 'baz' } } => "foo[bar]=baz"
166
+ *
167
+ * @example
168
+ * // json-stringify notation
169
+ * { foo: { bar: 'baz' } } => "foo={\"bar\":\"baz\"}"
170
+ *
171
+ * @default 'bracket'
172
+ */
173
+ objectNotation?: 'dot' | 'bracket' | 'json-stringify';
174
+ /**
175
+ * Whether to write array indexes in bracket notation.
176
+ *
177
+ * @example
178
+ * // true
179
+ * { foo: ['bar', 'baz'] } => "foo[0]=bar&foo[1]=baz"
180
+ *
181
+ * @example
182
+ * // false
183
+ * { foo: ['bar', 'baz'] } => "foo[]=bar&foo[]=baz"
184
+ *
185
+ * @default false
186
+ */
187
+ writeArrayIndexes?: boolean;
188
+ /**
189
+ * A list of values that should be ignored when building the query string.
190
+ *
191
+ * Also have a look at `ignoredValuesFns`.
192
+ *
193
+ * @default [undefined, null, Infinity, -Infinity]
194
+ */
195
+ ignoredValues?: Array<unknown>;
196
+ /**
197
+ * A list of functions that should be used to determine whether a value should be ignored when building the query string.
198
+ *
199
+ * Also have a look at `ignoredValues`.
200
+ *
201
+ * @default [isNaN, isEmptyString]
202
+ */
203
+ ignoredValuesFns?: Array<(value: unknown) => boolean>;
204
+ }
205
+
206
+ declare const request: <Response = unknown>(config: RequestConfig) => Observable<RequestEvent<Response>>;
207
+
208
+ declare const isNaN: (value: unknown) => boolean;
209
+ declare const isEmptyString: (value: unknown) => boolean;
210
+ declare const isRequestError: <T = unknown>(error: unknown) => error is RequestError<T>;
211
+ declare const buildRoute: (options: {
212
+ base: string;
213
+ route: AnyRoute | null | undefined;
214
+ pathParams?: PathParams;
215
+ queryParams?: QueryParams;
216
+ queryParamConfig?: BuildQueryStringConfig;
217
+ }) => string;
218
+ declare const buildQueryString: (params: QueryParams, config?: BuildQueryStringConfig) => string | null;
219
+ declare const extractExpiresInSeconds$1: (headers: RequestHeaders) => number | null;
220
+ declare const buildTimestampFromSeconds: (seconds: number | null) => number | null;
221
+ declare const serializeBody: (body: unknown) => ArrayBuffer | URLSearchParams | Blob | FormData | string | null;
222
+ declare const transformMethod: (config: {
223
+ method: Method;
224
+ transferVia?: "GET" | "POST";
225
+ }) => "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "TRACE" | "CONNECT" | "PURGE" | "LINK" | "UNLINK" | "CUSTOM";
226
+ declare const detectContentTypeHeader: (body: unknown) => string | null;
227
+ declare const hasHeader: (headers: RequestHeaders, header: string) => boolean;
228
+ declare const forEachHeader: (headers: RequestHeaders, callback: (value: string, key: string) => void) => void;
229
+ declare const parseAllXhrResponseHeaders: (xhr: XMLHttpRequest) => RequestHeaders;
230
+ declare const getResponseUrl: (xhr: XMLHttpRequest) => string | null;
231
+ declare const shouldRetryRequest$1: RequestRetryFn;
232
+
233
+ type SetupQueryDependenciesOptions = {
234
+ clientConfig: QueryClientConfig$1;
235
+ queryConfig: QueryConfig$1 | undefined;
236
+ };
237
+ type QueryDependencies = {
238
+ /** The destroy ref of the query. */
239
+ destroyRef: DestroyRef;
240
+ /** The destroy ref of the scope the query is in (e.g. a component) */
241
+ scopeDestroyRef: DestroyRef;
242
+ /** The query client */
243
+ client: QueryClient$1;
244
+ /** The injector of the query */
245
+ injector: EnvironmentInjector;
246
+ /** The effect scheduler */
247
+ effectScheduler: _EffectScheduler;
248
+ /** The error handler */
249
+ ngErrorHandler: ErrorHandler;
250
+ /** The http client */
251
+ httpClient: HttpClient;
252
+ };
253
+ declare const setupQueryDependencies: (options: SetupQueryDependenciesOptions) => QueryDependencies;
254
+
255
+ type CreateGqlQueryCreatorOptions<TArgs extends GqlQueryArgs> = Omit<CreateQueryCreatorOptions, 'route'> & {
256
+ route?: RouteType$1<TArgs>;
257
+ };
258
+ type GqlQueryMethod = 'QUERY' | 'MUTATE';
259
+ type GqlQueryTransport = 'GET' | 'POST';
260
+ type InternalCreateGqlQueryCreatorOptions = {
261
+ method: GqlQueryMethod;
262
+ transport: GqlQueryTransport;
263
+ client: QueryClientConfig$1;
264
+ query: string;
265
+ };
266
+ declare const createGqlQueryCreator: <TArgs extends GqlQueryArgs>(options: CreateGqlQueryCreatorOptions<TArgs> | undefined, internals: InternalCreateGqlQueryCreatorOptions) => QueryCreator$1<TArgs>;
267
+
268
+ type GqlQueryArgs = QueryArgs & {
269
+ variables?: Record<string, unknown>;
270
+ };
271
+ type CreateGqlQueryOptions<TArgs extends GqlQueryArgs> = Omit<CreateQueryOptions<TArgs>, 'creator' | 'creatorInternals'> & {
272
+ creator?: CreateGqlQueryCreatorOptions<TArgs>;
273
+ creatorInternals: InternalCreateGqlQueryCreatorOptions;
274
+ };
275
+ type GqlVariablesType<T extends GqlQueryArgs | null> = T extends GqlQueryArgs ? T['variables'] : never;
276
+ declare const isCreateGqlQueryOptions: <TArgs extends QueryArgs>(options: CreateQueryOptions<TArgs> | CreateGqlQueryOptions<TArgs>) => options is CreateGqlQueryOptions<TArgs>;
277
+ declare const createGqlQuery: <TArgs extends GqlQueryArgs>(options: CreateGqlQueryOptions<TArgs>) => Query$1<TArgs>;
278
+
279
+ declare const enum QueryFeatureType {
280
+ WithArgs = "withArgs",
281
+ WithLogging = "withLogging",
282
+ WithErrorHandling = "withErrorHandling",
283
+ WithSuccessHandling = "withSuccessHandling",
284
+ WithPolling = "withPolling",
285
+ WithAutoRefresh = "withAutoRefresh",
286
+ WithResponseUpdate = "withResponseUpdate"
287
+ }
288
+ type QueryFeatureContext<TArgs extends QueryArgs> = {
289
+ state: QueryState$1<TArgs>;
290
+ execute: InternalQueryExecute<TArgs>;
291
+ deps: QueryDependencies;
292
+ flags: QueryFeatureFlags;
293
+ };
294
+ type QueryFeatureFn<TArgs extends QueryArgs> = (context: QueryFeatureContext<TArgs>) => void;
295
+ type QueryFeature<TArgs extends QueryArgs> = {
296
+ type: QueryFeatureType;
297
+ fn: (context: QueryFeatureContext<TArgs>) => void;
298
+ };
299
+ /**
300
+ * A query feature that allows you to set the arguments of the query.
301
+ * The arguments are read within a computed function, so you can use reactive values.
302
+ *
303
+ * To set the arguments to `null`, return the symbol `CLEAR_QUERY_ARGS`.
304
+ * If you instead return `null`, the arguments won't change.
305
+ *
306
+ * Changing arguments will automatically trigger a new execution of the query if it is eligible for auto execution (e.g. a GET request).
307
+ */
308
+ declare const withArgs: <TArgs extends QueryArgs>(args: () => NoInfer<RequestArgs<TArgs>> | ClearQueryArgs | null) => QueryFeature<TArgs>;
309
+ type WithPollingFeatureOptions = {
310
+ /** The interval in milliseconds at which the query should be executed */
311
+ interval: number;
312
+ /**
313
+ * Whether the query should be executed initially.
314
+ * By default, the query will be executed after the first interval.
315
+ * @default false
316
+ */
317
+ executeInitially?: boolean;
318
+ };
319
+ /**
320
+ * A query feature that will automatically execute the query at a given interval.
321
+ * The interval will be cleared when the query is destroyed.
322
+ * The interval will be reset when the arguments of the query change.
323
+ *
324
+ * @throws If the query is not eligible for auto execution (e.g. a POST request)
325
+ */
326
+ declare const withPolling: <TArgs extends QueryArgs>(options: WithPollingFeatureOptions) => QueryFeature<TArgs>;
327
+ type WithLoggingFeatureOptions<TArgs extends QueryArgs> = {
328
+ /** A function that will be called with the latest http event */
329
+ logFn: (v: HttpEvent<ResponseType<TArgs>> | null) => void;
330
+ };
331
+ /** A query feature that can be used to log the latest http event */
332
+ declare const withLogging: <TArgs extends QueryArgs>(options: WithLoggingFeatureOptions<TArgs>) => QueryFeature<TArgs>;
333
+ type WithErrorHandlingFeatureOptions = {
334
+ /** A function that will be called with the latest error */
335
+ handler: (e: QueryErrorResponse) => void;
336
+ };
337
+ /** A query feature that can be used to handle errors */
338
+ declare const withErrorHandling: <TArgs extends QueryArgs>(options: WithErrorHandlingFeatureOptions) => QueryFeature<TArgs>;
339
+ type WithSuccessHandlingFeatureOptions<TArgs extends QueryArgs> = {
340
+ /** A function that will be called with the latest response */
341
+ handler: (data: NonNullable<ResponseType<TArgs>>) => void;
342
+ };
343
+ /** A query feature that can be used to handle successful responses */
344
+ declare const withSuccessHandling: <TArgs extends QueryArgs>(options: WithSuccessHandlingFeatureOptions<TArgs>) => QueryFeature<TArgs>;
345
+ type WithAutoRefreshFeatureOptions = {
346
+ /** The signals that should trigger a refresh of the query */
347
+ onSignalChanges: Signal<unknown>[];
348
+ /** Whether to ignore the `onlyManualExecution` query config flag */
349
+ ignoreOnlyManualExecution?: boolean;
350
+ };
351
+ /**
352
+ * A query feature that will automatically execute the query when any of the provided signals change
353
+ * @throws If the query is not eligible for auto execution (e.g. a POST request)
354
+ * @throws If the query has the `onlyManualExecution` query config flag set and `ignoreOnlyManualExecution` is not set
355
+ */
356
+ declare const withAutoRefresh: <TArgs extends QueryArgs>(options: WithAutoRefreshFeatureOptions) => QueryFeature<TArgs>;
357
+ type WithResponseUpdateFeatureFnData<TArgs extends QueryArgs> = {
358
+ /** The current response of the query */
359
+ currentResponse: ResponseType<TArgs> | null;
360
+ };
361
+ type WithResponseUpdateFeatureOptions<TArgs extends QueryArgs> = {
362
+ /**
363
+ * A function that will be called with the latest response
364
+ * If the function returns `null`, the response will not be updated.
365
+ * Otherwise, the response will be updated with the returned value.
366
+ * The function will be called in a reactive signal context.
367
+ * If the query get's executed after the response was updated, the response will be set the the fresh data received from the server.
368
+ *
369
+ * This feature is most useful in combination with web sockets where the data received from the socket might be more up-to-date than the data received previously.
370
+ *
371
+ * @example
372
+ * const matchEvents = mySocket.joinRoom('match-events');
373
+ *
374
+ * const myMatchQuery = getMatch(
375
+ * withArgs(() => ({ matchId: 1 })),
376
+ * withResponseUpdate(({ currentResponse }) => {
377
+ * const matchEvent = matchEvents();
378
+ *
379
+ * if (!matchEvent) return null;
380
+ *
381
+ * // Do some checks here. This is just a very simple example.
382
+ * // To apply partial updates, you can use the spread operator in combination with the current response.
383
+ *
384
+ * return matchEvent;
385
+ * })
386
+ * )
387
+ */
388
+ updater: (data: WithResponseUpdateFeatureFnData<TArgs>) => ResponseType<TArgs> | null;
389
+ };
390
+ declare const withResponseUpdate: <TArgs extends QueryArgs>(options: WithResponseUpdateFeatureOptions<TArgs>) => QueryFeature<TArgs>;
391
+
392
+ /**
393
+ * Returning this inside a withArgs feature will reset the query args to null.
394
+ * This will also pause polling and auto refresh until new args are set.
395
+ */
396
+ declare const CLEAR_QUERY_ARGS: unique symbol;
397
+ type ClearQueryArgs = typeof CLEAR_QUERY_ARGS;
398
+ /** A angular effect that can be nested inside another effect */
399
+ declare const nestedEffect: (fn: () => void, options?: CreateEffectOptions) => _angular_core.EffectRef;
400
+ declare const circularQueryDependencyChecker: () => {
401
+ check: () => void;
402
+ };
403
+ declare const shouldAutoExecuteQuery: (method: QueryMethod) => method is "GET" | "HEAD" | "OPTIONS";
404
+ declare const shouldAutoExecuteGqlQuery: (method: GqlQueryMethod) => method is "QUERY";
405
+ declare const extractExpiresInSeconds: (headers: HttpHeaders) => number | null;
406
+ type ShouldRetryRequestOptions = {
407
+ retryCount: number;
408
+ error: HttpErrorResponse;
409
+ };
410
+ type ShouldRetryRequestResult = {
411
+ retry: false;
412
+ } | {
413
+ retry: true;
414
+ delay: number;
415
+ };
416
+ type ShouldRetryRequestFn = (options: ShouldRetryRequestOptions) => ShouldRetryRequestResult;
417
+ declare const shouldRetryRequest: (options: ShouldRetryRequestOptions | HttpErrorResponse) => ShouldRetryRequestResult;
418
+ type QueryFeatureFlags = {
419
+ hasWithArgsFeature: boolean;
420
+ shouldAutoExecuteMethod: boolean;
421
+ shouldAutoExecute: boolean;
422
+ hasRouteFunction: boolean;
423
+ onlyManualExecution?: boolean;
424
+ /** Human readable method name */
425
+ method: string;
426
+ };
427
+ declare const getQueryFeatureUsage: <TArgs extends QueryArgs>(options: CreateQueryOptions<TArgs> | CreateGqlQueryOptions<TArgs>) => QueryFeatureFlags;
428
+ declare const applyQueryFeatures: <TArgs extends QueryArgs>(features: QueryFeature<TArgs>[], context: QueryFeatureContext<TArgs>) => void;
429
+ declare const maybeExecute: (options: {
430
+ flags: QueryFeatureFlags;
431
+ execute: InternalQueryExecute<any>;
432
+ }) => void;
433
+ type CreateQueryObjectOptions<TArgs extends QueryArgs> = {
434
+ state: QueryState$1<TArgs>;
435
+ deps: QueryDependencies;
436
+ execute: InternalQueryExecute<TArgs>;
437
+ };
438
+ declare const createQueryObject: <TArgs extends QueryArgs>(options: CreateQueryObjectOptions<TArgs>) => Query$1<TArgs>;
439
+ declare const normalizeQueryRepositoryKey: (key: Signal<QueryKeyOrNone>) => Signal<string>;
440
+ declare const shouldCacheQuery$1: (method: QueryMethod) => method is "GET" | "HEAD" | "OPTIONS";
441
+ declare const buildQueryCacheKey$1: (route: string, args: RequestArgs<QueryArgs> | undefined) => string;
442
+
443
+ type QueryErrorResponseList = {
444
+ isList: true;
445
+ errors: QueryErrorResponseItem[];
446
+ };
447
+ type QueryErrorResponseSingle = {
448
+ isList: false;
449
+ error: QueryErrorResponseItem;
450
+ };
451
+ type QueryErrorResponse = {
452
+ raw: HttpErrorResponse;
453
+ retryState: ShouldRetryRequestResult;
454
+ code: HttpStatusCode;
455
+ } & (QueryErrorResponseList | QueryErrorResponseSingle);
456
+ type QueryErrorResponseItem = {
457
+ message: string;
458
+ };
459
+ declare const createQueryErrorResponse: (error: unknown) => QueryErrorResponse;
460
+
461
+ type SetupQueryStateOptions = {};
462
+ type QueryStateSubtle<TArgs extends QueryArgs> = {
463
+ request: WritableSignal<HttpRequest<TArgs> | null>;
464
+ };
465
+ type QueryState$1<TArgs extends QueryArgs> = {
466
+ response: WritableSignal<ResponseType<TArgs> | null>;
467
+ args: WritableSignal<RequestArgs<TArgs> | null>;
468
+ latestHttpEvent: WritableSignal<HttpEvent<ResponseType<TArgs>> | null>;
469
+ loading: WritableSignal<HttpRequestLoadingState | null>;
470
+ error: WritableSignal<QueryErrorResponse | null>;
471
+ lastTimeExecutedAt: WritableSignal<number | null>;
472
+ executionState: Signal<QueryExecutionState<TArgs> | null>;
473
+ subtle: QueryStateSubtle<TArgs>;
474
+ };
475
+ type QueryExecutionStateSuccess<TArgs extends QueryArgs> = {
476
+ type: 'success';
477
+ response: ResponseType<TArgs>;
478
+ };
479
+ type QueryExecutionStateFailure = {
480
+ type: 'failure';
481
+ error: QueryErrorResponse;
482
+ };
483
+ type QueryExecutionStateLoadingWithNoResponse = {
484
+ type: 'loading';
485
+ hasCachedResponse: false;
486
+ loading: HttpRequestLoadingState;
487
+ };
488
+ type QueryExecutionStateLoadingWithCachedResponse<TArgs extends QueryArgs> = {
489
+ type: 'loading';
490
+ hasCachedResponse: true;
491
+ loading: HttpRequestLoadingState;
492
+ cachedResponse: ResponseType<TArgs>;
493
+ };
494
+ type QueryExecutionStateLoading<TArgs extends QueryArgs> = QueryExecutionStateLoadingWithNoResponse | QueryExecutionStateLoadingWithCachedResponse<TArgs>;
495
+ type QueryExecutionState<TArgs extends QueryArgs> = QueryExecutionStateSuccess<TArgs> | QueryExecutionStateFailure | QueryExecutionStateLoading<TArgs>;
496
+ declare const setupQueryState: <TArgs extends QueryArgs>(options: SetupQueryStateOptions) => QueryState$1<TArgs>;
497
+
498
+ type CreateQueryExecuteOptions<TArgs extends QueryArgs> = {
499
+ deps: QueryDependencies;
500
+ state: QueryState$1<TArgs>;
501
+ creator?: CreateQueryCreatorOptions;
502
+ creatorInternals: InternalCreateQueryCreatorOptions<TArgs>;
503
+ queryConfig: QueryConfig$1;
504
+ };
505
+ type QueryExecuteArgs<TArgs extends QueryArgs> = {
506
+ args?: RequestArgs<TArgs> | null;
507
+ options?: RunQueryExecuteOptions;
508
+ };
509
+ type InternalQueryExecute<TArgs extends QueryArgs> = {
510
+ (executeArgs?: QueryExecuteArgs<TArgs>): void;
511
+ reset: () => void;
512
+ currentRepositoryKey: Signal<QueryKeyOrNone>;
513
+ };
514
+ type QueryExecute<TArgs extends QueryArgs> = (executeArgs?: QueryExecuteArgs<TArgs>) => void;
515
+ declare const createExecuteFn: <TArgs extends QueryArgs>(executeOptions: CreateQueryExecuteOptions<TArgs>) => InternalQueryExecute<TArgs>;
516
+
517
+ type ResetExecuteStateOptions<TArgs extends QueryArgs> = {
518
+ executeOptions: Pick<CreateQueryExecuteOptions<TArgs>, 'state' | 'deps'>;
519
+ executeState: QueryExecuteState;
520
+ };
521
+ declare const resetExecuteState: <TArgs extends QueryArgs>(options: ResetExecuteStateOptions<TArgs>) => void;
522
+ type QueryExecuteState = {
523
+ effectRefs: EffectRef[];
524
+ previousKey: WritableSignal<string | false>;
525
+ };
526
+ declare const setupQueryExecuteState: () => QueryExecuteState;
527
+ type RunQueryExecuteOptions = {
528
+ allowCache?: boolean;
529
+ };
530
+ type InternalRunQueryExecuteOptions = {
531
+ /**
532
+ * If true, the request will be forced to be cached (saved inside the query repository).
533
+ * Can be used to e.g. cache GQL queries transported via POST
534
+ *
535
+ * - `true` means the request will always be cached
536
+ * - `false` means the request will never be cached
537
+ * - `undefined` means the request will be cached if the method is GET, OPTIONS or HEAD
538
+ */
539
+ useQueryRepositoryCache?: boolean;
540
+ };
541
+ type QueryExecuteOptions<TArgs extends QueryArgs> = {
542
+ executeOptions: CreateQueryExecuteOptions<TArgs>;
543
+ executeState: QueryExecuteState;
544
+ args: RequestArgs<TArgs> | null;
545
+ options?: RunQueryExecuteOptions;
546
+ internalOptions?: InternalRunQueryExecuteOptions;
547
+ transformResponse?: (response: any) => any;
548
+ isSecure?: boolean;
549
+ };
550
+ declare const queryExecute: <TArgs extends QueryArgs>(options: QueryExecuteOptions<TArgs>) => void;
551
+ type CleanupPreviousExecuteOptions<TArgs extends QueryArgs> = {
552
+ executeOptions: Pick<CreateQueryExecuteOptions<TArgs>, 'state'>;
553
+ executeState: QueryExecuteState;
554
+ };
555
+ declare const cleanupPreviousExecute: <TArgs extends QueryArgs>(options: CleanupPreviousExecuteOptions<TArgs>) => void;
556
+
557
+ type QueryRepositoryRequestOptions<TArgs extends QueryArgs> = {
558
+ /**
559
+ * The route of the request.
560
+ * @example '/users'
561
+ * @example (args) => `/users/${args.userId}`
562
+ */
563
+ route: RouteType$1<TArgs>;
564
+ /** The HTTP method of the request */
565
+ method: QueryMethod;
566
+ /** If the request is secure (needs authentication) */
567
+ isSecure?: boolean;
568
+ /** The data of the request */
569
+ args?: RequestArgs<TArgs> | null;
570
+ /** The client options of the request */
571
+ clientOptions?: CreateHttpRequestClientOptions;
572
+ /** If set, this request's cache key will be prefixed with this key */
573
+ key?: string;
574
+ /** The previous cache key of the request */
575
+ previousKey?: string | false;
576
+ /** The destroy ref to bind the request to. If the destroy ref is destroyed, the request will be destroyed as well. */
577
+ consumerDestroyRef: DestroyRef;
578
+ /** Configuration on how to run the query */
579
+ runQueryOptions?: RunQueryExecuteOptions;
580
+ /** Internal options for running the query */
581
+ internalRunQueryOptions?: InternalRunQueryExecuteOptions;
582
+ };
583
+ type QueryRepositoryItem<TArgs extends QueryArgs> = {
584
+ /** The key of the request. If the key is `false`, the request is not cached, otherwise it is. */
585
+ key: QueryKeyOrNone;
586
+ /** The request object */
587
+ request: HttpRequest<TArgs>;
588
+ };
589
+ /**
590
+ * The query repository is responsible for managing all requests and their consumers.
591
+ * It will cache requests if they can be cached and reuse them if they are already cached.
592
+ * It will also destroy requests if there are no more consumers left.
593
+ */
594
+ type QueryRepository = {
595
+ /** Creates a new request. If the request is already cached, it will be reused. */
596
+ request: <TArgs extends QueryArgs>(options: QueryRepositoryRequestOptions<TArgs>) => QueryRepositoryItem<TArgs>;
597
+ /** Removes a consumer from a request by its key. Destroys the request if there are no more consumers left. */
598
+ unbind: (key: QueryKeyOrNone, consumerDestroyRef: DestroyRef) => boolean;
599
+ /** Removes all secure requests and their consumers */
600
+ unbindAllSecure: () => void;
601
+ };
602
+ /** The key of a query */
603
+ type QueryKey = string;
604
+ /** A key that will not be cached */
605
+ type QueryKeyNoCache = false;
606
+ /** A key that may or may not be cached */
607
+ type QueryKeyOrNone = QueryKey | QueryKeyNoCache;
608
+ type QueryRepositoryDependencies = {
609
+ /** The HTTP client to use for the requests */
610
+ httpClient: HttpClient;
611
+ /** The error handler to use for the requests */
612
+ ngErrorHandler: ErrorHandler;
613
+ };
614
+ type CreateQueryRepositoryConfig = QueryClientConfig$1 & {
615
+ /** The dependencies of the query repository */
616
+ dependencies: QueryRepositoryDependencies;
617
+ };
618
+ declare const createQueryRepository: (config: CreateQueryRepositoryConfig) => QueryRepository;
619
+
620
+ type QueryClient$1 = {
621
+ repository: QueryRepository;
622
+ };
623
+ declare const createQueryClient: (config: QueryClientConfig$1) => QueryClient$1;
624
+ declare const provideQueryClient: (config: QueryClientConfig$1) => {
625
+ provide: QueryClientRef;
626
+ useFactory: () => QueryClient$1;
627
+ };
628
+
629
+ type CacheAdapterFn = (headers: HttpHeaders) => number | null;
630
+ type CreateQueryClientConfigOptions = {
631
+ /**
632
+ * The base URL of the client
633
+ * @example 'https://api.example.com/v1'
634
+ */
635
+ baseUrl: string;
636
+ /** Configuration for building query strings */
637
+ queryString?: BuildQueryStringConfig;
638
+ /** The name of the client */
639
+ name: string;
640
+ /**
641
+ * The cache adapter function to use for the client.
642
+ * It determines how long the response of a request can be cached.
643
+ *
644
+ * @default extractExpiresInSeconds()
645
+ */
646
+ cacheAdapter?: CacheAdapterFn;
647
+ /**
648
+ * The retry function to use for the client.
649
+ * It determines if a request should be retried after it failed.
650
+ *
651
+ * @default shouldRetryRequest()
652
+ */
653
+ retryFn?: ShouldRetryRequestFn;
654
+ };
655
+ type QueryClientConfig$1 = CreateQueryClientConfigOptions & {
656
+ /** A generated token for dependency injection */
657
+ token: QueryClientRef;
658
+ };
659
+ /**
660
+ * A token for a query client.
661
+ * This token can be used to inject a query client into a service.
662
+ */
663
+ type QueryClientRef = InjectionToken<QueryClient$1>;
664
+ /**
665
+ * This function creates a query client config.
666
+ * The config is used to create a query client using the `provideQueryClient(myConfig)` function.
667
+ */
668
+ declare const createQueryClientConfig: (options: CreateQueryClientConfigOptions) => QueryClientConfig$1;
669
+
670
+ type RouteType$1<TArgs extends QueryArgs> = PathParamsType<TArgs> extends {
671
+ [key: string]: unknown;
672
+ } ? (args: TArgs['pathParams']) => RouteString$1 : RouteString$1;
673
+ type RouteString$1 = `/${string}`;
674
+ type CreateQueryCreatorOptions = {
675
+ /**
676
+ * If true, the query loading state will include progress information.
677
+ * This is useful for file uploads and downloads.
678
+ *
679
+ * **Warning**: Upload progress events are not supported by browsers when using the fetch API, such as with `provideHttpClient(withFetch())`.
680
+ * In this case, you should use the older XHR implementation by omitting `withFetch()`. But take into account that XHR is not supported in server-side rendering environments.
681
+ *
682
+ * @see https://angular.dev/guide/http/making-requests#receiving-raw-progress-events
683
+ *
684
+ * @default false
685
+ */
686
+ reportProgress?: boolean;
687
+ /**
688
+ * The response type of the query.
689
+ * @default 'json'
690
+ */
691
+ responseType?: HttpRequestResponseType;
692
+ /**
693
+ * Whether to include credentials (cookies) in the request or not.
694
+ * @default false
695
+ */
696
+ withCredentials?: boolean;
697
+ /**
698
+ * This property accepts either a boolean to enable/disable transferring cache for eligible
699
+ * requests performed using `HttpClient`, or an object, which allows to configure cache
700
+ * parameters, such as which headers should be included (no headers are included by default).
701
+ *
702
+ * Setting this property will override the options passed to `provideClientHydration()` for this
703
+ * particular request
704
+ */
705
+ transferCache?: HttpRequestTransferCacheConfig;
706
+ };
707
+ type QueryCreator$1<TArgs extends QueryArgs> = {
708
+ (...features: QueryFeature<TArgs>[]): Query$1<TArgs>;
709
+ (queryConfig: QueryConfig$1, ...features: QueryFeature<TArgs>[]): Query$1<TArgs>;
710
+ };
711
+ type AnyQueryCreator$1 = QueryCreator$1<any>;
712
+ type QueryArgsOf$1<T extends AnyQueryCreator$1 | AnyQuery$1> = T extends QueryCreator$1<infer TArgs> ? TArgs : T extends Query$1<infer TArgs> ? TArgs : never;
713
+ type RunQueryCreator<TCreator extends AnyQueryCreator$1> = ReturnType<TCreator>;
714
+ type QueryMethod = 'GET' | 'OPTIONS' | 'HEAD' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'TRACE' | 'CONNECT';
715
+ type InternalCreateQueryCreatorOptions<TArgs extends QueryArgs> = {
716
+ /**
717
+ * The route of the query.
718
+ * If the query has path params, the route should be a function that takes the path params as an argument.
719
+ * Otherwise, it should be a string.
720
+ */
721
+ route: RouteType$1<TArgs>;
722
+ method: QueryMethod;
723
+ client: QueryClientConfig$1;
724
+ };
725
+ type QueryConfig$1 = {
726
+ /** A custom id to use for this query. Only affects queries that can be cached. */
727
+ key?: string;
728
+ /**
729
+ * If true, the query will not be executed automatically.
730
+ * Does not affect mutations such as POST, PUT etc. since those are never executed automatically.
731
+ */
732
+ onlyManualExecution?: boolean;
733
+ /**
734
+ * If true, the query will not throw an error because a "withArgs()" feature is missing.
735
+ */
736
+ silenceMissingWithArgsFeatureError?: boolean;
737
+ /**
738
+ * A custom injector to use for this query.
739
+ */
740
+ injector?: Injector;
741
+ };
742
+ declare const splitQueryConfig: <TArgs extends QueryArgs>(args: (QueryFeature<TArgs> | QueryConfig$1)[]) => {
743
+ features: QueryFeature<TArgs>[];
744
+ queryConfig: QueryConfig$1;
745
+ };
746
+ declare const createQueryCreator: <TArgs extends QueryArgs>(options: CreateQueryCreatorOptions | undefined, internals: InternalCreateQueryCreatorOptions<TArgs>) => QueryCreator$1<TArgs>;
747
+
748
+ type QueryArgs = {
749
+ response?: any;
750
+ pathParams?: Record<string, string | number>;
751
+ queryParams?: any;
752
+ body?: any;
753
+ headers?: HttpHeaders;
754
+ };
755
+ type ResponseType<T extends QueryArgs | null> = T extends QueryArgs ? T['response'] : never;
756
+ type PathParamsType<T extends QueryArgs | null> = T extends QueryArgs ? T['pathParams'] : never;
757
+ type QueryParamsType<T extends QueryArgs | null> = T extends QueryArgs ? T['queryParams'] : never;
758
+ type BodyType<T extends QueryArgs | null> = T extends QueryArgs ? T['body'] : never;
759
+ type RequestArgs<T extends QueryArgs | null> = T extends QueryArgs ? Omit<T, 'response'> : never;
760
+ type CreateQueryOptions<TArgs extends QueryArgs> = {
761
+ creator?: CreateQueryCreatorOptions;
762
+ creatorInternals: InternalCreateQueryCreatorOptions<TArgs>;
763
+ features: QueryFeature<TArgs>[];
764
+ queryConfig: QueryConfig$1;
765
+ };
766
+ type QueryBase<TArgs extends QueryArgs> = {
767
+ /** The arguments of the last execution of the query. Will be `null` if the query has never been executed */
768
+ args: Signal<RequestArgs<TArgs> | null>;
769
+ /**
770
+ * The latest response of the query. Will be `null` if the query has never been executed.
771
+ * Responses are cached until a new response is received.
772
+ * If a response is present but the next execution of the query fails, the response will be set to `null` again.
773
+ */
774
+ response: Signal<ResponseType<TArgs> | null>;
775
+ /** The latest Angular HTTP client native http event that occurred during the last execution of the query. Will be `null` if no event occurred. */
776
+ latestHttpEvent: Signal<HttpEvent<ResponseType<TArgs>> | null>;
777
+ /** The loading state of the query. Will be `null` if the query currently isn't loading. */
778
+ loading: Signal<HttpRequestLoadingState | null>;
779
+ /** The error that occurred during the last execution of the query. Will be `null` if no error occurred. */
780
+ error: Signal<QueryErrorResponse | null>;
781
+ /** The time the query was last executed at. Will be `null` if the query has never been executed. */
782
+ lastTimeExecutedAt: Signal<number | null>;
783
+ /** The id of the query */
784
+ id: Signal<string>;
785
+ /** The current state of the query. Will be `null` if the query has never been executed. */
786
+ executionState: Signal<QueryExecutionState<TArgs> | null>;
787
+ };
788
+ /** A snapshot of a query state at a specific point in time */
789
+ type QuerySnapshot<TArgs extends QueryArgs> = QueryBase<TArgs> & {
790
+ /** This signal is `true` until the latest execution of the query has completed in any way (success, error, or cancellation) */
791
+ isAlive: Signal<boolean>;
792
+ };
793
+ type AnyQuerySnapshot = QuerySnapshot<any>;
794
+ type AnyQuery$1 = Query$1<any>;
795
+ type QuerySubtle<TArgs extends QueryArgs> = {
796
+ /** Destroys the query and cleans up all resources. The query should not be used after this method is called. */
797
+ destroy: () => void;
798
+ /** Manually sets the response of the query. This will not trigger a new execution of the query. */
799
+ setResponse: (response: ResponseType<TArgs>) => void;
800
+ /** The currently underlying HTTP request of the query. Will be `null` if the query has never been executed. */
801
+ request: Signal<HttpRequest<TArgs> | null>;
802
+ /** The destroy reference used to clean up the query when it is no longer needed */
803
+ destroyRef: DestroyRef;
804
+ /** The Angular injector used to resolve dependencies for the query */
805
+ injector: Injector;
806
+ };
807
+ type Query$1<TArgs extends QueryArgs> = QueryBase<TArgs> & {
808
+ /** Executes the query */
809
+ execute: QueryExecute<TArgs>;
810
+ /** Creates an immutable snapshot of the current query state */
811
+ createSnapshot: () => QuerySnapshot<TArgs>;
812
+ /** Resets the query state to its initial state */
813
+ reset: () => void;
814
+ /** Returns a readonly version of the query */
815
+ asReadonly: () => ReadonlyQuery<TArgs>;
816
+ /** Advanced query features. **WARNING!** Incorrectly using these features will likely **BREAK** your application. You have been warned! */
817
+ subtle: QuerySubtle<TArgs>;
818
+ };
819
+ type ReadonlyQuery<TArgs extends QueryArgs> = Omit<Query$1<TArgs>, 'execute' | 'subtle' | 'reset' | 'asReadonly'>;
820
+ declare const createQuery: <TArgs extends QueryArgs>(options: CreateQueryOptions<TArgs>) => Query$1<TArgs>;
821
+
822
+ declare const SPEED_BUFFER_TIME_IN_MS = 2000;
823
+ type HttpRequestTransferCacheConfig = boolean | {
824
+ includeHeaders?: string[];
825
+ };
826
+ type HttpRequestResponseType = 'json' | 'text' | 'blob' | 'arraybuffer';
827
+ type CreateHttpRequestDependencies = {
828
+ /** The http client instance to use for the request */
829
+ httpClient: HttpClient;
830
+ /** The error handler instance to use for the request */
831
+ ngErrorHandler: ErrorHandler;
832
+ };
833
+ type CreateHttpRequestClientOptions = {
834
+ /**
835
+ * Whether to report the progress of the request or not. If the fetch backend is used, this will only work for downloads.
836
+ * @see https://angular.dev/guide/http/making-requests#receiving-raw-progress-events
837
+ * @default false
838
+ */
839
+ reportProgress?: boolean;
840
+ /**
841
+ * Whether to include credentials in the request or not
842
+ * @default false
843
+ */
844
+ withCredentials?: boolean;
845
+ /**
846
+ * This property accepts either a boolean to enable/disable transferring cache for eligible
847
+ * requests performed using `HttpClient`, or an object, which allows to configure cache
848
+ * parameters, such as which headers should be included (no headers are included by default).
849
+ *
850
+ * Setting this property will override the options passed to `provideClientHydration()` for this
851
+ * particular request
852
+ */
853
+ transferCache?: HttpRequestTransferCacheConfig;
854
+ /**
855
+ * The response type of the request
856
+ * @default 'json'
857
+ */
858
+ responseType?: HttpRequestResponseType;
859
+ /**
860
+ * The context of the request
861
+ * @default undefined
862
+ * @see https://angular.dev/guide/http/interceptors#request-and-response-metadata
863
+ */
864
+ context?: HttpContext;
865
+ };
866
+ type CreateHttpRequestOptions<TArgs extends QueryArgs> = {
867
+ /** The HTTP method of the request */
868
+ method: QueryMethod;
869
+ /**
870
+ * The full path of the request
871
+ * @example 'https://api.example.com/v1/users'
872
+ */
873
+ fullPath: string;
874
+ /** The data of the request */
875
+ args?: RequestArgs<TArgs> | null;
876
+ /** The dependencies of the request */
877
+ dependencies: QueryRepositoryDependencies;
878
+ /** The client options of the request */
879
+ clientOptions?: CreateHttpRequestClientOptions;
880
+ /**
881
+ * The cache adapter function to use for the request
882
+ * @default extractExpiresInSeconds()
883
+ */
884
+ cacheAdapter?: CacheAdapterFn;
885
+ /**
886
+ * The retry function to use for the request
887
+ * @default shouldRetryRequest()
888
+ */
889
+ retryFn?: ShouldRetryRequestFn;
890
+ };
891
+ type HttpRequestLoadingState = {
892
+ /** The time when the request was executed in ms */
893
+ executeTime: number;
894
+ /** The progress of the request. Null if reportProgress is false or progress is not available / unsupported */
895
+ progress: HttpRequestLoadingProgressState | null;
896
+ };
897
+ type HttpRequestLoadingProgressState = {
898
+ /** The total number of bytes to be transferred */
899
+ total: number;
900
+ /** The number of bytes transferred */
901
+ loaded: number;
902
+ /** The percentage of the transfer that is completed */
903
+ percentage: number;
904
+ /** The speed of the transfer in bytes per millisecond */
905
+ speed: number | null;
906
+ /** The estimated remaining time in milliseconds */
907
+ remainingTime: number | null;
908
+ };
909
+ type HttpRequest<TArgs extends QueryArgs> = {
910
+ /** Executes the request */
911
+ execute: (options?: {
912
+ allowCache?: boolean;
913
+ }) => boolean;
914
+ /** Destroys the request (cancels it if in progress) */
915
+ destroy: () => boolean;
916
+ /** The loading state of the request */
917
+ loading: Signal<HttpRequestLoadingState | null>;
918
+ /** The error state of the request */
919
+ error: Signal<QueryErrorResponse | null>;
920
+ /** The response state of the request */
921
+ response: Signal<ResponseType<TArgs> | null>;
922
+ /** The current event of the request */
923
+ currentEvent: Signal<HttpEvent<ResponseType<TArgs>> | HttpErrorEvent | null>;
924
+ /** Whether the request is stale or not aka the cache header has expired */
925
+ isStale: Signal<boolean>;
926
+ };
927
+ /** A custom error event since the Angular http client does not provide a specific event for errors */
928
+ type HttpErrorEvent = {
929
+ type: 'error';
930
+ error: QueryErrorResponse;
931
+ };
932
+ declare const createHttpRequest: <TArgs extends QueryArgs>(options: CreateHttpRequestOptions<TArgs>) => HttpRequest<TArgs>;
933
+
934
+ declare const ethletePaginationAdapter: <T>(response: Paginated<T>) => NormalizedPagination<T>;
935
+ declare const ggLikePaginationAdapter: <T>(response: GgLikePaginated<T>) => NormalizedPagination<T>;
936
+ declare const dynLikePaginationAdapter: <T>(response: DynLikePaginated<T>) => NormalizedPagination<T>;
937
+ declare const contentfulGqlLikePaginationAdapter: <T>(response: ContentfulGqlLikePaginated<T>) => NormalizedPagination<T>;
938
+ declare const fakePaginationAdapter: (totalHits?: number) => <T>(response: T) => NormalizedPagination<T>;
939
+ type CreatePagedQueryStackOptions<TArgs extends QueryArgs, TNormPagination extends NormalizedPagination<unknown>> = {
940
+ /**
941
+ * The normalizer function that will be used to normalize the response to a format that the paged query can understand.
942
+ *
943
+ * There are some built-in normalizers that can be used:
944
+ * - `ethletePaginationAdapter`
945
+ * - `ggLikePaginationAdapter`
946
+ * - `dynLikePaginationAdapter`
947
+ * - `contentfulGqlLikePaginationAdapter`
948
+ * - `fakePaginationAdapter` (for testing purposes)
949
+ *
950
+ * @param currentResponse The current response that was fetched.
951
+ * @param allResponses All responses that were fetched till now including the current response and pagination.
952
+ */
953
+ responseNormalizer: (currentResponse: ResponseType<TArgs>, allResponses: NonNullable<ResponseType<TArgs>>[]) => TNormPagination;
954
+ /**
955
+ * The query creator function that will be used to create the paged query.
956
+ */
957
+ queryCreator: QueryCreator$1<TArgs>;
958
+ /**
959
+ * The arguments to create the query.
960
+ * The current page will be passed as an argument.
961
+ * This function can be treated like a computed function. It reacts to signal changes.
962
+ * If a signal changes, the paged query will be reset to the initial page.
963
+ *
964
+ * @example (page) => ({ queryParams: { page, limit:20 } }),
965
+ *
966
+ * @param page The page to fetch next. **Do not modify this argument.**
967
+ * @param allResponses All responses that were fetched till now including pagination.
968
+ */
969
+ args: (page: number, allResponses: NonNullable<ResponseType<TArgs>>[]) => RequestArgs<TArgs> | null;
970
+ /**
971
+ * The features that should be used for all queries in the stack.
972
+ *
973
+ * @throws If the `withArgs` feature is used. This feature is internally used.
974
+ *
975
+ * @example
976
+ * // Due to limitations in TypeScript, you have to manually add the needed generic types if needed.
977
+ * features: [E.withSuccessHandling<GetPostQueryArgs>({ handler: (post) => console.log(post.title) })]
978
+ *
979
+ * @example
980
+ * // If typings are not needed, you can use the feature without generics.
981
+ * features: [E.withPolling({ interval: 5000 })]
982
+ */
983
+ features?: QueryFeature<any>[];
984
+ /**
985
+ * The page to start this paged query from.
986
+ * @default 1
987
+ */
988
+ initialPage?: number;
989
+ /**
990
+ * If true, no queries will be executed while the paged query is loading.
991
+ * This is useful if you need the current response to be used in the next query.
992
+ */
993
+ blockExecutionDuringLoading?: boolean;
994
+ };
995
+ type PagedQueryStackResetOptions = {
996
+ /**
997
+ * The page to reset this paged query to.
998
+ * This will clear everything and start from this page.
999
+ * @default 1 // or the value passed in the `initialPage` option when creating the paged query.
1000
+ */
1001
+ initialPage?: number;
1002
+ };
1003
+ type PagedQueryStackExecuteOptions<TNormPagination extends NormalizedPagination<unknown>> = {
1004
+ /**
1005
+ * If provided, only the queries that match the condition will be executed.
1006
+ * This will also execute the previous and next query to the one that matched the condition.
1007
+ * If not provided, all queries will be executed.
1008
+ *
1009
+ * @example
1010
+ * myPagedQuery.execute({ where: (item) => item.id === 4 });
1011
+ */
1012
+ where?: (item: TNormPagination['items'][number], index: number, array: TNormPagination['items']) => boolean;
1013
+ /**
1014
+ * If true, the cache will be used (if not expired) and the request will not be made.
1015
+ * @default false
1016
+ */
1017
+ allowCache?: boolean;
1018
+ };
1019
+ type PagedQueryStackDirection = 'next' | 'previous';
1020
+ type AnyPagedQueryStack = PagedQueryStack<AnyQuery$1, NormalizedPagination<unknown>>;
1021
+ type PagedQueryStack<TQuery extends AnyQuery$1, TNormPagination extends NormalizedPagination<unknown>> = {
1022
+ /**
1023
+ * The pagination of the last executed query in the paged query.
1024
+ */
1025
+ maxPagination: Signal<TNormPagination | null>;
1026
+ /**
1027
+ * The pagination of the first executed query in the paged query.
1028
+ */
1029
+ minPagination: Signal<TNormPagination | null>;
1030
+ /**
1031
+ * Whether the last page of the paged query is loaded or not.
1032
+ */
1033
+ isLastPageLoaded: Signal<boolean>;
1034
+ /**
1035
+ * Whether the first page of the paged query is loaded or not.
1036
+ */
1037
+ isFirstPageLoaded: Signal<boolean>;
1038
+ /**
1039
+ * Fetches the previous page of the paged query.
1040
+ *
1041
+ * @throws If the paged query is already at the first page.
1042
+ */
1043
+ fetchPreviousPage: () => TQuery | null;
1044
+ /**
1045
+ * Fetches the next page of the paged query.
1046
+ *
1047
+ * @throws If the paged query is already at the last page.
1048
+ */
1049
+ fetchNextPage: () => TQuery | null;
1050
+ /**
1051
+ * Whether the previous page can be fetched or not.
1052
+ *
1053
+ * This will be false if the paged query is already at the first page or if the paged query is loading.
1054
+ */
1055
+ canFetchPreviousPage: Signal<boolean>;
1056
+ /**
1057
+ * Whether the next page can be fetched or not.
1058
+ *
1059
+ * This will be false if the paged query is already at the last page or if the paged query is loading.
1060
+ */
1061
+ canFetchNextPage: Signal<boolean>;
1062
+ /**
1063
+ * The items of the paged query.
1064
+ */
1065
+ items: Signal<TNormPagination['items']>;
1066
+ /**
1067
+ * Whether the paged query is loading or not.
1068
+ */
1069
+ loading: Signal<boolean>;
1070
+ /**
1071
+ * The error that occurred during the last execution of the paged query.
1072
+ */
1073
+ error: Signal<QueryErrorResponse | null>;
1074
+ /**
1075
+ * The last query executed in the paged query.
1076
+ */
1077
+ lastQuery: Signal<Query$1<QueryArgsOf$1<TQuery>> | null>;
1078
+ /**
1079
+ * Whether the paged query is on its first load or not.
1080
+ */
1081
+ isFirstLoad: Signal<boolean>;
1082
+ /**
1083
+ * The queries in the paged query stack.
1084
+ */
1085
+ queries: Signal<TQuery[]>;
1086
+ /**
1087
+ * Resets the paged query to the initial page.
1088
+ */
1089
+ reset: (resetOptions?: PagedQueryStackResetOptions) => void;
1090
+ /**
1091
+ * Executes the paged query.
1092
+ */
1093
+ execute: (options?: PagedQueryStackExecuteOptions<TNormPagination>) => void;
1094
+ /**
1095
+ * The current direction of the paged query.
1096
+ */
1097
+ direction: Signal<PagedQueryStackDirection>;
1098
+ };
1099
+ declare const createPagedQueryStack: <TCreator extends AnyQueryCreator$1, TArgs extends QueryArgsOf$1<TCreator>, TNormPagination extends NormalizedPagination<unknown>>(options: CreatePagedQueryStackOptions<TArgs, TNormPagination>) => PagedQueryStack<Query$1<TArgs>, TNormPagination>;
1100
+
1101
+ /** A query creator that creates a GET query */
1102
+ declare const createGetQuery: (client: QueryClientConfig$1) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1103
+ /** A query creator that creates a secure GET query (requires authentication) */
1104
+ declare const createSecureGetQuery: (client: QueryClientConfig$1, authProvider: AnyBearerAuthProviderConfig) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1105
+ /** A query creator that creates a POST query */
1106
+ declare const createPostQuery: (client: QueryClientConfig$1) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1107
+ /** A query creator that creates a secure POST query (requires authentication) */
1108
+ declare const createSecurePostQuery: (client: QueryClientConfig$1, authProvider: AnyBearerAuthProviderConfig) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1109
+ /** A query creator that creates a PUT query */
1110
+ declare const createPutQuery: (client: QueryClientConfig$1) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1111
+ /** A query creator that creates a secure PUT query (requires authentication) */
1112
+ declare const createSecurePutQuery: (client: QueryClientConfig$1, authProvider: AnyBearerAuthProviderConfig) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1113
+ /** A query creator that creates a DELETE query */
1114
+ declare const createDeleteQuery: (client: QueryClientConfig$1) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1115
+ /** A query creator that creates a secure DELETE query (requires authentication) */
1116
+ declare const createSecureDeleteQuery: (client: QueryClientConfig$1, authProvider: AnyBearerAuthProviderConfig) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1117
+ /** A query creator that creates a PATCH query */
1118
+ declare const createPatchQuery: (client: QueryClientConfig$1) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1119
+ /** A query creator that creates a secure PATCH query (requires authentication) */
1120
+ declare const createSecurePatchQuery: (client: QueryClientConfig$1, authProvider: AnyBearerAuthProviderConfig) => <TArgs extends QueryArgs>(route: RouteType$1<TArgs>, creatorOptions?: CreateQueryCreatorOptions) => QueryCreator$1<TArgs>;
1121
+
1122
+ declare const enum QueryRuntimeErrorCode {
1123
+ QUERY_FEATURE_USED_MULTIPLE_TIMES = 0,
1124
+ WITH_ARGS_QUERY_FEATURE_MISSING_BUT_ROUTE_IS_FUNCTION = 100,
1125
+ WITH_POLLING_USED_ON_UNSUPPORTED_HTTP_METHOD = 101,
1126
+ WITH_AUTO_REFRESH_USED_ON_UNSUPPORTED_HTTP_METHOD = 102,
1127
+ WITH_AUTO_REFRESH_USED_IN_MANUAL_QUERY = 103,
1128
+ SILENCE_MISSING_WITH_ARGS_FEATURE_ERROR_USED_BUT_WITH_ARGS_PRESENT = 104,
1129
+ COOKIE_LOGIN_TRIED_BUT_COOKIE_DISABLED = 200,
1130
+ ENABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG = 201,
1131
+ DISABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG = 202,
1132
+ LOGIN_CALLED_WITHOUT_CONFIG = 203,
1133
+ LOGIN_WITH_TOKEN_CALLED_WITHOUT_CONFIG = 204,
1134
+ REFRESH_TOKEN_CALLED_WITHOUT_CONFIG = 205,
1135
+ SELECT_ROLE_CALLED_WITHOUT_CONFIG = 206,
1136
+ DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_OBJECT = 207,
1137
+ DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_ACCESS_TOKEN = 208,
1138
+ DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_REFRESH_TOKEN = 209,
1139
+ UNABLE_TO_DECRYPT_BEARER_TOKEN = 210,
1140
+ BEARER_EXPIRES_IN_PROPERTY_NOT_NUMBER = 211,
1141
+ UNCACHEABLE_REQUEST_HAS_CACHE_KEY_PARAM = 300,
1142
+ UNCACHEABLE_REQUEST_HAS_ALLOW_CACHE_PARAM = 301,
1143
+ PAGED_QUERY_STACK_PAGE_BIGGER_THAN_TOTAL_PAGES = 400,
1144
+ PAGED_QUERY_STACK_NEXT_PAGE_CALLED_WITHOUT_PREVIOUS_PAGE = 401,
1145
+ PAGED_QUERY_STACK_PREVIOUS_PAGE_CALLED_BUT_ALREADY_AT_FIRST_PAGE = 402,
1146
+ QUERY_STACK_WITH_ARGS_USED = 500,
1147
+ QUERY_STACK_WITH_RESPONSE_UPDATE_USED = 501,
1148
+ QUERY_STACK_TOTAL_QUERIES_AND_EXPECTED_QUERIES_MISMATCH = 502
1149
+ }
1150
+ declare const queryFeatureUsedMultipleTimes: (type: QueryFeatureType) => RuntimeError<QueryRuntimeErrorCode.QUERY_FEATURE_USED_MULTIPLE_TIMES>;
1151
+ declare const withArgsQueryFeatureMissingButRouteIsFunction: () => RuntimeError<QueryRuntimeErrorCode.WITH_ARGS_QUERY_FEATURE_MISSING_BUT_ROUTE_IS_FUNCTION>;
1152
+ declare const withPollingUsedOnUnsupportedHttpMethod: (method: string) => RuntimeError<QueryRuntimeErrorCode.WITH_POLLING_USED_ON_UNSUPPORTED_HTTP_METHOD>;
1153
+ declare const withAutoRefreshUsedOnUnsupportedHttpMethod: (method: string) => RuntimeError<QueryRuntimeErrorCode.WITH_AUTO_REFRESH_USED_ON_UNSUPPORTED_HTTP_METHOD>;
1154
+ declare const withAutoRefreshUsedInManualQuery: () => RuntimeError<QueryRuntimeErrorCode.WITH_AUTO_REFRESH_USED_IN_MANUAL_QUERY>;
1155
+ declare const silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent: () => RuntimeError<QueryRuntimeErrorCode.SILENCE_MISSING_WITH_ARGS_FEATURE_ERROR_USED_BUT_WITH_ARGS_PRESENT>;
1156
+ declare const cookieLoginTriedButCookieDisabled: () => RuntimeError<QueryRuntimeErrorCode.COOKIE_LOGIN_TRIED_BUT_COOKIE_DISABLED>;
1157
+ declare const enableCookieCalledWithoutCookieConfig: () => RuntimeError<QueryRuntimeErrorCode.ENABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG>;
1158
+ declare const disableCookieCalledWithoutCookieConfig: () => RuntimeError<QueryRuntimeErrorCode.DISABLE_COOKIE_CALLED_WITHOUT_COOKIE_CONFIG>;
1159
+ declare const loginCalledWithoutConfig: () => RuntimeError<QueryRuntimeErrorCode.LOGIN_CALLED_WITHOUT_CONFIG>;
1160
+ declare const loginWithTokenCalledWithoutConfig: () => RuntimeError<QueryRuntimeErrorCode.LOGIN_WITH_TOKEN_CALLED_WITHOUT_CONFIG>;
1161
+ declare const refreshTokenCalledWithoutConfig: () => RuntimeError<QueryRuntimeErrorCode.REFRESH_TOKEN_CALLED_WITHOUT_CONFIG>;
1162
+ declare const selectRoleCalledWithoutConfig: () => RuntimeError<QueryRuntimeErrorCode.SELECT_ROLE_CALLED_WITHOUT_CONFIG>;
1163
+ declare const defaultResponseTransformerResponseNotObject: (currentType: string) => RuntimeError<QueryRuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_OBJECT>;
1164
+ declare const defaultResponseTransformerResponseNotContainingAccessToken: () => RuntimeError<QueryRuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_ACCESS_TOKEN>;
1165
+ declare const defaultResponseTransformerResponseNotContainingRefreshToken: () => RuntimeError<QueryRuntimeErrorCode.DEFAULT_RESPONSE_TRANSFORMER_RESPONSE_NOT_CONTAINING_REFRESH_TOKEN>;
1166
+ declare const unableToDecryptBearerToken: (token: string) => RuntimeError<QueryRuntimeErrorCode.UNABLE_TO_DECRYPT_BEARER_TOKEN>;
1167
+ declare const bearerExpiresInPropertyNotNumber: (expiresIn: unknown) => RuntimeError<QueryRuntimeErrorCode.BEARER_EXPIRES_IN_PROPERTY_NOT_NUMBER>;
1168
+ declare const uncacheableRequestHasCacheKeyParam: (key: string) => RuntimeError<QueryRuntimeErrorCode.UNCACHEABLE_REQUEST_HAS_CACHE_KEY_PARAM>;
1169
+ declare const uncacheableRequestHasAllowCacheParam: () => RuntimeError<QueryRuntimeErrorCode.UNCACHEABLE_REQUEST_HAS_ALLOW_CACHE_PARAM>;
1170
+ declare const pagedQueryStackPageBiggerThanTotalPages: (page: number, totalPages: number) => RuntimeError<QueryRuntimeErrorCode.PAGED_QUERY_STACK_PAGE_BIGGER_THAN_TOTAL_PAGES>;
1171
+ declare const pagedQueryStackNextPageCalledWithoutPreviousPage: () => RuntimeError<QueryRuntimeErrorCode.PAGED_QUERY_STACK_NEXT_PAGE_CALLED_WITHOUT_PREVIOUS_PAGE>;
1172
+ declare const pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage: () => RuntimeError<QueryRuntimeErrorCode.PAGED_QUERY_STACK_PREVIOUS_PAGE_CALLED_BUT_ALREADY_AT_FIRST_PAGE>;
1173
+ declare const queryStackWithArgsUsed: () => RuntimeError<QueryRuntimeErrorCode.QUERY_STACK_WITH_ARGS_USED>;
1174
+ declare const queryStackWithResponseUpdateUsed: () => RuntimeError<QueryRuntimeErrorCode.QUERY_STACK_WITH_RESPONSE_UPDATE_USED>;
1175
+ declare const queryStackTotalQueriesAndExpectedQueriesMismatch: (totalQueries: number, expectedQueries: number) => RuntimeError<QueryRuntimeErrorCode.QUERY_STACK_TOTAL_QUERIES_AND_EXPECTED_QUERIES_MISMATCH>;
1176
+
1177
+ type CreateQuerySnapshotOptions<TArgs extends QueryArgs> = {
1178
+ state: QueryState$1<TArgs>;
1179
+ deps: QueryDependencies;
1180
+ execute: InternalQueryExecute<TArgs>;
1181
+ };
1182
+ declare const createQuerySnapshotFn: <TArgs extends QueryArgs>(options: CreateQuerySnapshotOptions<TArgs>) => () => QuerySnapshot<TArgs>;
1183
+
1184
+ type QueryStackSubtle<TCreator extends AnyQueryCreator$1, TQuery extends AnyQuery$1> = {
1185
+ /** Create a new query with the given arguments. You should always prefer the `args` option instead of this. */
1186
+ runWithArgs: (args: RequestArgs<QueryArgsOf$1<TCreator>> | RequestArgs<QueryArgsOf$1<TCreator>>[] | null) => TQuery | null;
1187
+ };
1188
+ type QueryStack<TQuery extends AnyQuery$1, TCreator extends AnyQueryCreator$1, TTransform> = {
1189
+ /** Contains all queries in the stack. */
1190
+ queries: Signal<TQuery[]>;
1191
+ /** Contains the first query in the stack. */
1192
+ firstQuery: Signal<TQuery | null>;
1193
+ /** Contains the last query in the stack. Useful for getting current pagination values. */
1194
+ lastQuery: Signal<TQuery | null>;
1195
+ /** True if any query in the stack is loading. */
1196
+ loading: Signal<boolean>;
1197
+ /** Contains the first error that occurred in the stack. */
1198
+ error: Signal<QueryErrorResponse | null>;
1199
+ /** Contains the responses of all queries in the stack. Will be `null` for queries that are loading or errored. */
1200
+ response: Signal<TTransform>;
1201
+ /** Executes all queries in the stack. */
1202
+ execute: (options?: {
1203
+ allowCache?: boolean;
1204
+ }) => void;
1205
+ /** Destroys all queries in the stack and empties it. This should only be used if `append` is true. */
1206
+ clear: () => void;
1207
+ /** Advanced query stack features. **WARNING!** Incorrectly using these features will likely **BREAK** your application. You have been warned! */
1208
+ subtle: QueryStackSubtle<TCreator, TQuery>;
1209
+ };
1210
+ type AnyQueryStack = QueryStack<AnyQuery$1, AnyQueryCreator$1, any>;
1211
+ type CreateQueryStackOptions<TCreator extends AnyQueryCreator$1, TDeps extends () => any, TTransform = (ResponseType<QueryArgsOf$1<TCreator>> | null)[]> = {
1212
+ /**
1213
+ * The query creator function that will be used to create the query stack.
1214
+ */
1215
+ queryCreator: TCreator;
1216
+ /**
1217
+ * The dependencies that should trigger a new query stack creation.
1218
+ * This function can be treated like a computed function. It reacts to signal changes.
1219
+ * The return value of this function will be passed to the `args` function.
1220
+ *
1221
+ * This option can be ignored if `append` is false.
1222
+ */
1223
+ dependencies?: TDeps;
1224
+ /**
1225
+ * The features that should be used for all queries in the stack.
1226
+ *
1227
+ * @throws If the `withArgs` feature is used. This feature is internally used.
1228
+ *
1229
+ * @example
1230
+ * // Due to limitations in TypeScript, you have to manually add the needed generic types if needed.
1231
+ * features: [E.withSuccessHandling<GetPostQueryArgs>({ handler: (post) => console.log(post.title) })]
1232
+ *
1233
+ * @example
1234
+ * // If typings are not needed, you can use the feature without generics.
1235
+ * features: [E.withPolling({ interval: 5000 })]
1236
+ */
1237
+ features?: QueryFeature<any>[];
1238
+ /**
1239
+ * The arguments to create queries with.
1240
+ * This function can be treated like a computed function. It reacts to signal changes.
1241
+ * If a signal changes, a new query will be created (and appended to the existing ones if `append` is true).
1242
+ * If this function returns `null`, the args will be ignored.
1243
+ * If this function returns an array, multiple queries will be created.
1244
+ *
1245
+ * @example
1246
+ * // One query
1247
+ * () => ({ queryParams: { postId: myId() } }),
1248
+ *
1249
+ * @example
1250
+ * // Multiple queries (these can of cause also be created using a loop)
1251
+ * () => [
1252
+ * { queryParams: { postId: myId() } },
1253
+ * { queryParams: { postId: myOtherId() } },
1254
+ * ],
1255
+ *
1256
+ * @example
1257
+ * // One query with dependencies
1258
+ * (deps) => ({ queryParams: { postId: myId(), limit: deps.limit } }),
1259
+ */
1260
+ args: (deps: ReturnType<TDeps>) => RequestArgs<QueryArgsOf$1<TCreator>> | RequestArgs<QueryArgsOf$1<TCreator>>[] | null;
1261
+ /**
1262
+ * If true, new queries will be appended to the existing ones. Otherwise, existing queries will be destroyed.
1263
+ * This should be used for things like infinite scrolling where already fetched queries should not be destroyed.
1264
+ */
1265
+ append?: boolean;
1266
+ /**
1267
+ * If append is true, this function will be called to merge the old and new queries.
1268
+ * Useful if you want to append the new queries in a specific order (e.g. at the beginning).
1269
+ */
1270
+ appendFn?: (oldQueries: RunQueryCreator<TCreator>[], newQueries: RunQueryCreator<TCreator>[]) => {
1271
+ /** The new queries merged with the old ones. */
1272
+ queries: RunQueryCreator<TCreator>[];
1273
+ /** The last query in the new queries. */
1274
+ lastQuery: RunQueryCreator<TCreator> | null;
1275
+ };
1276
+ /**
1277
+ * Transforms the responses of all queries in the stack. Useful for merging or filtering responses.
1278
+ */
1279
+ transform?: (responses: ResponseType<QueryArgsOf$1<TCreator>>[]) => TTransform;
1280
+ };
1281
+ /** Transforms an array of arrays into a single array and filters out `null` values. */
1282
+ declare const transformArrayResponse: <T extends (unknown | null)[]>(responses: T) => NonNullable<T[0]>[];
1283
+ /** Transforms an array of paginated responses into a single array and filters out `null` values. */
1284
+ declare const transformPaginatedResponse: <T extends ({
1285
+ items: unknown[];
1286
+ } | null)[]>(responses: T) => NonNullable<NonNullable<T[0]>["items"]>;
1287
+ declare const createQueryStack: <TCreator extends AnyQueryCreator$1, TArgs extends QueryArgsOf$1<TCreator>, TDeps extends () => any, TTransform = (ResponseType<TArgs> | null)[]>(options: CreateQueryStackOptions<TCreator, TDeps, TTransform>) => QueryStack<RunQueryCreator<TCreator>, TCreator, TTransform>;
1288
+
1289
+ type InternalSecureCreateQueryCreatorOptions<TArgs extends QueryArgs> = InternalCreateQueryCreatorOptions<TArgs> & {
1290
+ authProvider: AnyBearerAuthProviderConfig;
1291
+ };
1292
+ declare const createSecureQueryCreator: <TArgs extends QueryArgs>(options: CreateQueryCreatorOptions | undefined, internals: InternalSecureCreateQueryCreatorOptions<TArgs>) => QueryCreator$1<TArgs>;
1293
+
1294
+ type CreateSecureQueryOptions<TArgs extends QueryArgs> = Omit<CreateQueryOptions<TArgs>, 'creatorInternals'> & {
1295
+ creatorInternals: InternalSecureCreateQueryCreatorOptions<TArgs>;
1296
+ };
1297
+ declare const createSecureQuery: <TArgs extends QueryArgs>(options: CreateSecureQueryOptions<TArgs>) => Query$1<TArgs>;
1298
+
1299
+ type CreateSecureQueryExecuteOptions<TArgs extends QueryArgs> = Omit<CreateQueryExecuteOptions<TArgs>, 'creatorInternals'> & {
1300
+ creatorInternals: InternalSecureCreateQueryCreatorOptions<TArgs>;
1301
+ };
1302
+ declare const createSecureExecuteFn: <TArgs extends QueryArgs>(executeOptions: CreateSecureQueryExecuteOptions<TArgs>) => InternalQueryExecute<TArgs>;
1303
+
1304
+ type BearerAuthProviderTokens = {
1305
+ accessToken: string;
1306
+ refreshToken: string;
1307
+ };
1308
+ type BearerAuthProviderRouteConfig<TArgs extends QueryArgs> = {
1309
+ queryCreator: QueryCreator$1<TArgs>;
1310
+ /**
1311
+ * A function that transforms the response into the format that the auth provider expects
1312
+ *
1313
+ * The expected format is an object with the `accessToken` and `refreshToken` properties.
1314
+ *
1315
+ * @default (response) => response
1316
+ */
1317
+ responseTransformer?: (response: ResponseType<TArgs>) => BearerAuthProviderTokens;
1318
+ };
1319
+ type BearerAuthProviderCookieConfig<TTokenRefreshArgs extends QueryArgs> = {
1320
+ /**
1321
+ * The cookie name where the refresh token is stored
1322
+ * @default 'etAuth'
1323
+ */
1324
+ name?: string;
1325
+ /**
1326
+ * The domain of the cookie. If not set, the current origin will be used.
1327
+ *
1328
+ * @example
1329
+ * "https://example.com" -> "example.com"
1330
+ * "https://sub.example.com" -> "example.com"
1331
+ */
1332
+ domain?: string;
1333
+ /**
1334
+ * The days until the cookie expires
1335
+ * @default 30
1336
+ */
1337
+ expiresInDays?: number;
1338
+ /**
1339
+ * The path of the cookie
1340
+ * @default '/'
1341
+ */
1342
+ path?: string;
1343
+ /**
1344
+ * Enable or disable the cookie
1345
+ * @default true
1346
+ */
1347
+ enabled?: boolean;
1348
+ /**
1349
+ * The same site property of the cookie
1350
+ * @default 'lax'
1351
+ */
1352
+ sameSite?: 'strict' | 'none' | 'lax';
1353
+ /**
1354
+ * A function that turns the token gotten from the cookie into the body for the refresh token request
1355
+ * @default (token) => ({ token })
1356
+ */
1357
+ refreshArgsTransformer?: (token: string) => RequestArgs<TTokenRefreshArgs>;
1358
+ /**
1359
+ * An array of routes where the auto login via cookie should not be triggered.
1360
+ *
1361
+ * This checks the current route against the array of routes using the `startsWith` method.
1362
+ * Make sure to start each route with a `/`.
1363
+ *
1364
+ * @default []
1365
+ * @example ['/login', '/register']
1366
+ */
1367
+ autoLoginExcludeRoutes?: string[];
1368
+ };
1369
+ type CreateBearerAuthProviderConfigOptions<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = {
1370
+ /**
1371
+ * The name of the auth provider
1372
+ */
1373
+ name: string;
1374
+ /**
1375
+ * The query client reference
1376
+ */
1377
+ queryClientRef: QueryClientRef;
1378
+ /**
1379
+ * The login route configuration
1380
+ */
1381
+ login?: BearerAuthProviderRouteConfig<TLoginArgs>;
1382
+ /**
1383
+ * The token login route configuration
1384
+ */
1385
+ tokenLogin?: BearerAuthProviderRouteConfig<TTokenLoginArgs>;
1386
+ /**
1387
+ * The token refresh route configuration
1388
+ */
1389
+ tokenRefresh?: BearerAuthProviderRouteConfig<TTokenRefreshArgs>;
1390
+ /**
1391
+ * The select role route configuration
1392
+ */
1393
+ selectRole?: BearerAuthProviderRouteConfig<TSelectRoleArgs>;
1394
+ /**
1395
+ * The cookie configuration for the auth provider
1396
+ */
1397
+ cookie?: BearerAuthProviderCookieConfig<TTokenRefreshArgs>;
1398
+ /**
1399
+ * The time in milliseconds before the token expires when the refresh should be triggered.
1400
+ * @default 300000 // (5 minutes)
1401
+ */
1402
+ refreshBuffer?: number;
1403
+ /**
1404
+ * The expires in property name inside the jwt body
1405
+ * @default 'exp'
1406
+ */
1407
+ expiresInPropertyName?: string;
1408
+ /**
1409
+ * Determines if the token should be refreshed if **any** query returns a 401 response.
1410
+ * @default true
1411
+ */
1412
+ refreshOnUnauthorizedResponse?: boolean;
1413
+ /**
1414
+ * A function that decrypts the bearer token
1415
+ */
1416
+ bearerDecryptFn?: (token: string) => TBearerData;
1417
+ };
1418
+ type BearerAuthProviderConfig<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = CreateBearerAuthProviderConfigOptions<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData> & {
1419
+ token: BearerAuthProviderRef<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
1420
+ };
1421
+ type AnyBearerAuthProviderConfig = BearerAuthProviderConfig<any, any, any, any, any>;
1422
+ type BearerAuthProviderRef<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = InjectionToken<BearerAuthProvider$1<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>>;
1423
+ declare const createBearerAuthProviderConfig: <TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData>(options: CreateBearerAuthProviderConfigOptions<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>) => BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
1424
+
1425
+ type QuerySnapshotWithType<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs> = ({
1426
+ type: 'login';
1427
+ } & QuerySnapshot<TLoginArgs>) | ({
1428
+ type: 'tokenLogin';
1429
+ } & QuerySnapshot<TTokenLoginArgs>) | ({
1430
+ type: 'tokenRefresh';
1431
+ } & QuerySnapshot<TTokenRefreshArgs>) | ({
1432
+ type: 'selectRole';
1433
+ } & QuerySnapshot<TSelectRoleArgs>);
1434
+ type BearerAuthProvider$1<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = {
1435
+ /**
1436
+ * Logs in the user with the given args.
1437
+ */
1438
+ login: (args: RequestArgs<TLoginArgs>) => QuerySnapshot<TLoginArgs>;
1439
+ /**
1440
+ * Logs in the user with the given token.
1441
+ */
1442
+ loginWithToken: (args: RequestArgs<TTokenLoginArgs>) => QuerySnapshot<TTokenLoginArgs>;
1443
+ /**
1444
+ * Refreshes the token with the given refresh token.
1445
+ */
1446
+ refreshToken: (args: RequestArgs<TTokenRefreshArgs>) => QuerySnapshot<TTokenRefreshArgs>;
1447
+ /**
1448
+ * Selects the role for the user.
1449
+ */
1450
+ selectRole: (args: RequestArgs<TSelectRoleArgs>) => QuerySnapshot<TSelectRoleArgs>;
1451
+ /**
1452
+ * Logs out the user and removes the cookie.
1453
+ */
1454
+ logout: () => void;
1455
+ /**
1456
+ * Enables cookie usage for the auth provider.
1457
+ */
1458
+ enableCookie: () => void;
1459
+ /**
1460
+ * Disables cookie usage for the auth provider and removes the cookie.
1461
+ */
1462
+ disableCookie: () => void;
1463
+ /**
1464
+ * Checks if the cookie is present.
1465
+ */
1466
+ isCookiePresent: () => boolean;
1467
+ /**
1468
+ * Tries to login with the given cookie config.
1469
+ * Returns `true` if a cookie was found, `false` otherwise.
1470
+ */
1471
+ tryLoginWithCookie: () => boolean;
1472
+ /**
1473
+ * The latest executed query that was not triggered internally.
1474
+ */
1475
+ latestExecutedQuery: Signal<QuerySnapshotWithType<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs> | null>;
1476
+ /**
1477
+ * A signal that contains the current access and refresh tokens.
1478
+ */
1479
+ tokens: Signal<BearerAuthProviderTokens | null>;
1480
+ /**
1481
+ * The bearer data that was decrypted from the access token.
1482
+ */
1483
+ bearerData: Signal<TBearerData | null>;
1484
+ };
1485
+ declare const createBearerAuthProvider: <TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData>(options: BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>) => BearerAuthProvider$1<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
1486
+ declare const provideBearerAuthProvider: <TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData>(config: BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>) => {
1487
+ provide: BearerAuthProviderRef<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
1488
+ useFactory: () => BearerAuthProvider$1<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
1489
+ };
1490
+
1491
+ type TransformedGqlQuery = {
1492
+ query: string;
1493
+ variables?: string;
1494
+ operationName?: string;
1495
+ };
1496
+ declare const transformGql: (str: string) => (variables: Record<string, unknown> | null | undefined) => TransformedGqlQuery;
1497
+ type GQL = string & {
1498
+ gql: 'tag';
1499
+ };
1500
+ declare const gql: (strings: TemplateStringsArray, ...values: string[]) => GQL;
1501
+
1502
+ /** A query creator that creates a GQL query where the payload is sent via GET (query params) */
1503
+ declare const createGqlQueryViaGet: (client: QueryClientConfig$1) => <TArgs extends GqlQueryArgs>(query: GQL, creatorOptions?: CreateGqlQueryCreatorOptions<TArgs>) => QueryCreator$1<TArgs>;
1504
+ /** A query creator that creates a GQL query where the payload is sent via POST (body) */
1505
+ declare const createGqlQueryViaPost: (client: QueryClientConfig$1) => <TArgs extends GqlQueryArgs>(query: GQL, creatorOptions?: CreateGqlQueryCreatorOptions<TArgs>) => QueryCreator$1<TArgs>;
1506
+ /** A query creator that creates a GQL mutation where the payload is sent via GET (query params) */
1507
+ declare const createGqlMutationViaGet: (client: QueryClientConfig$1) => <TArgs extends GqlQueryArgs>(query: GQL, creatorOptions?: CreateGqlQueryCreatorOptions<TArgs>) => QueryCreator$1<TArgs>;
1508
+ /** A query creator that creates a GQL mutation where the payload is sent via POST (body) */
1509
+ declare const createGqlMutationViaPost: (client: QueryClientConfig$1) => <TArgs extends GqlQueryArgs>(query: GQL, creatorOptions?: CreateGqlQueryCreatorOptions<TArgs>) => QueryCreator$1<TArgs>;
1510
+
1511
+ type CreateGqlQueryExecuteOptions<TArgs extends QueryArgs> = {
1512
+ deps: QueryDependencies;
1513
+ state: QueryState$1<TArgs>;
1514
+ creator?: CreateGqlQueryCreatorOptions<TArgs>;
1515
+ creatorInternals: InternalCreateGqlQueryCreatorOptions;
1516
+ queryConfig: QueryConfig$1;
1517
+ };
1518
+ declare const createGqlExecuteFn: <TArgs extends GqlQueryArgs>(executeOptions: CreateGqlQueryExecuteOptions<TArgs>) => InternalQueryExecute<TArgs>;
1519
+
1520
+ type CreateLegacyQueryOptions<TArgs extends QueryArgs> = {
1521
+ query: Query$1<TArgs>;
1522
+ };
1523
+ declare const isLegacyQuery: <T extends AnyLegacyQuery>(query: unknown) => query is T;
1524
+ type AnyLegacyQuery = LegacyQuery<any, any, any, any, any, any, any>;
1525
+ declare class LegacyQuery<Response, Arguments extends BaseArguments | undefined, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id, TNewQuery extends AnyQuery$1> {
1526
+ newQuery: TNewQuery;
1527
+ _arguments: RequestArgs<QueryArgsOf$1<TNewQuery>>;
1528
+ entity?: QueryEntityConfig<Store, Data, Response, Arguments, Id> | undefined;
1529
+ state$: Observable<QueryState<Data>>;
1530
+ get rawState(): QueryState<any>;
1531
+ get isExpired(): boolean | undefined;
1532
+ get isInUse(): boolean;
1533
+ get isPolling(): boolean;
1534
+ get autoRefreshOnConfig(): Readonly<QueryAutoRefreshConfig>;
1535
+ get store(): null;
1536
+ get canBeCached(): boolean;
1537
+ get _isInMockMode(): boolean;
1538
+ constructor(newQuery: TNewQuery, _arguments: RequestArgs<QueryArgsOf$1<TNewQuery>>, entity?: QueryEntityConfig<Store, Data, Response, Arguments, Id> | undefined);
1539
+ destroy(): void;
1540
+ execute(options?: ExecuteQueryOptions): this;
1541
+ abort(): this;
1542
+ poll(config: PollConfig): this;
1543
+ stopPolling(): this;
1544
+ pausePolling(): this;
1545
+ resumePolling(): this;
1546
+ onSuccess(callback: (response: Data) => void): this;
1547
+ onFailure(callback: (error: RequestError<unknown>) => void): this;
1548
+ }
1549
+
1550
+ interface QueryContainerConfig {
1551
+ /**
1552
+ * If `true`, the previous query will be aborted when a new query is pushed into the container.
1553
+ * @default true // Only if the request can be cached (GET, OPTIONS, HEAD and GQL_QUERY). Otherwise false.
1554
+ */
1555
+ abortPrevious?: boolean;
1556
+ /**
1557
+ * If `true`, the query will be aborted when the container is destroyed.
1558
+ * @default true // Only if the request can be cached (GET, OPTIONS, HEAD and GQL_QUERY). Otherwise false.
1559
+ */
1560
+ abortOnDestroy?: boolean;
1561
+ /**
1562
+ * If `true`, the previous polling will be stopped when a new query is pushed into the container.
1563
+ * @default true // Only if the query has no other dependents and the request can be cached (GET, OPTIONS, HEAD and GQL_QUERY). Otherwise false.
1564
+ */
1565
+ stopPreviousPolling?: boolean;
1566
+ }
1567
+ interface QueryFilterConfig {
1568
+ /**
1569
+ * If `true`, the response will be cached until the next response is received or the query fails.
1570
+ * @default false
1571
+ */
1572
+ cacheResponse?: boolean;
1573
+ }
1574
+ declare const addQueryContainerHandling: (obs: Observable<AnyQuery | AnyQuery[] | AnyLegacyQuery | AnyLegacyQuery[] | null>, valueFn: () => AnyQuery | AnyQuery[] | AnyLegacyQuery | AnyLegacyQuery[] | null | undefined, config?: QueryContainerConfig) => void;
1575
+ declare function toQuerySignal<T extends AnyQuery | AnyLegacyQuery | null>(source: Observable<T> | Subscribable<T>): Signal<T | undefined>;
1576
+ declare function toQuerySignal<T extends AnyQuery | AnyLegacyQuery | null>(source: Observable<T> | Subscribable<T>, options: NoInfer<ToSignalOptions<T | undefined>> & {
1577
+ initialValue?: undefined;
1578
+ requireSync?: false;
1579
+ } & QueryContainerConfig): Signal<T | undefined>;
1580
+ declare function toQuerySignal<T extends AnyQuery | AnyLegacyQuery | null>(source: Observable<T> | Subscribable<T>, options: NoInfer<ToSignalOptions<T | null>> & {
1581
+ initialValue?: null;
1582
+ requireSync?: false;
1583
+ } & QueryContainerConfig): Signal<T | null>;
1584
+ declare function toQuerySignal<T extends AnyQuery | AnyLegacyQuery | null>(source: Observable<T> | Subscribable<T>, options: NoInfer<ToSignalOptions<T>> & {
1585
+ initialValue?: undefined;
1586
+ requireSync: true;
1587
+ } & QueryContainerConfig): Signal<T>;
1588
+ declare function toQuerySignal<T extends AnyQuery | AnyLegacyQuery | null, const U extends T>(source: Observable<T> | Subscribable<T>, options: NoInfer<ToSignalOptions<T | U>> & {
1589
+ initialValue: U;
1590
+ requireSync?: false;
1591
+ } & QueryContainerConfig): Signal<T | U>;
1592
+ declare function effectComputed<T extends AnyQuery | AnyLegacyQuery | AnyQuery[] | AnyLegacyQuery[] | null>(computation: () => T, injector: Injector): Signal<T>;
1593
+ declare function queryComputed<T extends AnyQuery | AnyLegacyQuery | null>(computation: () => T, options?: CreateComputedOptions<T> & QueryContainerConfig & ToObservableOptions): Signal<T>;
1594
+ /**
1595
+ * Creates a signal that will only be reactive until the first query is created.
1596
+ * All subsequent changes inside the computation will be ignored.
1597
+ */
1598
+ declare function queryComputedTillTruthy<T extends AnyQuery | AnyLegacyQuery | null>(computation: () => T, options?: CreateComputedOptions<T> & QueryContainerConfig & ToObservableOptions): Signal<T | null>;
1599
+ declare function queryArrayComputed<T extends AnyQuery[] | AnyLegacyQuery[] | null>(computation: () => T, options?: CreateComputedOptions<T> & QueryContainerConfig & ToObservableOptions): Signal<T>;
1600
+ declare function toQuerySubject<T extends AnyQuery | AnyLegacyQuery | null>(source: Signal<T>, options?: ToObservableOptions & QueryContainerConfig): Observable<T>;
1601
+ declare function queryStateSignal<T extends Signal<AnyQuery | AnyLegacyQuery | AnyQueryCollection | null>>(source: T, options?: QueryFilterConfig): _angular_core.WritableSignal<QueryState<QueryDataOf<QueryOf<ReturnType<T>>>> | null>;
1602
+ type QueryStateSignal<T extends Signal<AnyQuery | AnyLegacyQuery | AnyQueryCollection | null>> = Signal<QueryDataOf<QueryOf<ReturnType<T>>> | null> & {
1603
+ reset: () => void;
1604
+ };
1605
+ declare function queryStateResponseSignal<T extends Signal<AnyQuery | AnyLegacyQuery | AnyQueryCollection | null>>(source: T, options?: QueryFilterConfig): QueryStateSignal<T>;
1606
+ declare function queryStateErrorSignal<T extends Signal<AnyQuery | AnyLegacyQuery | AnyQueryCollection | null>>(source: T): Signal<_ethlete_query.RequestError<unknown> | null>;
1607
+ declare function queryStateLoadingSignal<T extends Signal<AnyQuery | AnyLegacyQuery | AnyQueryCollection | null>>(source: T): Signal<Loading | null>;
1608
+
1609
+ declare const deepFreeze: <T extends Record<string, unknown>>(object: T) => T;
1610
+
1611
+ /**
1612
+ * Dummy function for providing types while not breaking inference.
1613
+ * **This function always returns null.**
1614
+ * @see https://github.com/microsoft/TypeScript/issues/26242
1615
+ * @returns null
1616
+ */
1617
+ declare const def: <Data>() => Data;
1618
+
1619
+ type LegacyArgumentsOfQueryArgs<T extends QueryArgs> = Omit<T, 'response' | 'headers'> & WithHeaders;
1620
+ type QueryArgsOfLegacyArguments<T extends BaseArguments | undefined, J> = Omit<T, 'mock' | 'headers'> & {
1621
+ headers?: HttpHeaders;
1622
+ response?: J;
1623
+ };
1624
+ type CreateLegacyQueryCreatorOptions<TArgs extends QueryArgs, Response, Store extends EntityStore<unknown>, Data, Id> = {
1625
+ creator: QueryCreator$1<TArgs>;
1626
+ /**
1627
+ * Object containing the query's entity store information.
1628
+ */
1629
+ entity?: QueryEntityConfig<Store, Data, Response, LegacyArgumentsOfQueryArgs<TArgs>, Id>;
1630
+ };
1631
+ interface WithLegacyConfig {
1632
+ /**
1633
+ * Additional configuration for this query.
1634
+ */
1635
+ config?: QueryConfig & {
1636
+ /**
1637
+ * If set to true, the query will be destroyed when it either succeeds or fails.
1638
+ */
1639
+ destroyOnResponse?: boolean;
1640
+ };
1641
+ }
1642
+ type LegacyQueryPrepareFn<Arguments extends BaseArguments | undefined, Response, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id, TNewQuery extends AnyQuery$1> = Arguments extends BaseArguments ? (args: Arguments & WithHeaders & WithLegacyConfig & WithInjector) => LegacyQuery<Response, Arguments, Route, Store, Data, Id, TNewQuery> : (args?: (Arguments extends EmptyObject ? Arguments : EmptyObject) & WithHeaders & WithLegacyConfig & WithInjector) => LegacyQuery<Response, Arguments, Route, Store, Data, Id, TNewQuery>;
1643
+ type AnyLegacyQueryCreator = LegacyQueryCreator<any, any, any, any, any>;
1644
+ /**
1645
+ * Creates a legacy query creator.
1646
+ * @deprecated This is a temporary solution to support legacy queries. It will be removed in the future.
1647
+ */
1648
+ declare class LegacyQueryCreator<TArgs extends QueryArgs, Response extends ResponseType<TArgs>, Store extends EntityStore<unknown>, Id, Data = Response> {
1649
+ options: CreateLegacyQueryCreatorOptions<TArgs, Response, Store, Data, Id>;
1650
+ constructor(options: CreateLegacyQueryCreatorOptions<TArgs, Response, Store, Data, Id>);
1651
+ prepare: LegacyQueryPrepareFn<LegacyArgs, Response, Route, Store, Data, Id, Query$1<TArgs>>;
1652
+ createSubject: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => BehaviorSubject<LegacyQuery<Response, LegacyArgs, Route, Store, Data, Id, Query$1<TArgs>> | null>;
1653
+ createSignal: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => _angular_core.WritableSignal<LegacyQuery<Response, LegacyArgs, Route, Store, Data, Id, Query$1<TArgs>> | null>;
1654
+ behaviorSubject: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => BehaviorSubject<LegacyQuery<Response, LegacyArgs, Route, Store, Data, Id, Query$1<TArgs>> | null>;
1655
+ }
1656
+ declare const createLegacyQueryCreator: <TArgs extends QueryArgs, Response extends ResponseType<TArgs>, Store extends EntityStore<unknown>, Id, Data = Response>(options: CreateLegacyQueryCreatorOptions<TArgs, Response, Store, Data, Id>) => LegacyQueryCreator<TArgs, Response, Store, Id, Data>;
1657
+
1658
+ declare const parseHttpErrorCodeToTitleDe: (statusCode: HttpStatusCode) => "Ungültige Anfrage" | "Nicht autorisiert" | "Zahlung erforderlich" | "Verboten" | "Nicht gefunden" | "Methode nicht erlaubt" | "Nicht akzeptabel" | "Proxy-Authentifizierung erforderlich" | "Anforderungszeitüberschreitung" | "Konflikt" | "Weg" | "Länge erforderlich" | "Vorbedingung fehlgeschlagen" | "Nutzlast zu groß" | "URI zu lang" | "Nicht unterstützter Medientyp" | "Bereich nicht zufriedenstellend" | "Erwartung fehlgeschlagen" | "Ich bin eine Teekanne" | "Fehlgeleitete Anfrage" | "Unverarbeitbare Entität" | "Gesperrt" | "Fehlgeschlagene Abhängigkeit" | "Zu früh" | "Upgrade erforderlich" | "Vorbedingung erforderlich" | "Zu viele Anfragen" | "Anforderungskopffelder zu groß" | "Aus rechtlichen Gründen nicht verfügbar" | "Interner Serverfehler" | "Nicht implementiert" | "Schlechtes Gateway" | "Dienst nicht verfügbar" | "Gateway-Zeitüberschreitung" | "HTTP-Version nicht unterstützt" | "Variante verhandelt auch" | "Unzureichender Speicher" | "Schleifenerkennung" | "Nicht erweitert" | "Netzwerkauthentifizierung erforderlich" | "Etwas ist schief gelaufen";
1659
+ declare const parseHttpErrorCodeToMessageDe: (statusCode: HttpStatusCode) => "Entschuldigung, wir konnten Ihre Anfrage nicht bearbeiten. Bitte versuchen Sie es später erneut." | "Sie sind nicht berechtigt, diese Aktion auszuführen. Bitte melden Sie sich an, um fortzufahren." | "Zur Ausführung dieser Aktion ist eine Zahlung erforderlich." | "Sie haben keine Berechtigung, diese Aktion auszuführen." | "Die angeforderte Ressource wurde nicht gefunden." | "Die angeforderte Methode ist für diese Ressource nicht zulässig." | "Die angeforderte Ressource ist nicht in der Lage, eine Antwort zu generieren, die der Liste der akzeptablen Werte entspricht." | "Zur Ausführung dieser Aktion ist eine Proxy-Authentifizierung erforderlich." | "Der Server hat auf die Anforderung gewartet." | "Die Anforderung steht im Widerspruch zum aktuellen Zustand der Ressource." | "Die angeforderte Ressource ist nicht mehr verfügbar und wird auch nicht mehr verfügbar sein." | "Die Anforderung hat die Länge ihres Inhalts nicht angegeben, die von der angeforderten Ressource benötigt wird." | "Der Server erfüllt eine der Voraussetzungen nicht, die der Anforderer an die Anforderung gestellt hat." | "Die Anforderung ist größer als der Server bereit oder in der Lage ist, zu verarbeiten." | "Die bereitgestellte URL war für den Server zu lang, um sie zu verarbeiten." | "Die Anforderungseinheit hat einen Medientyp, den der Server oder die Ressource nicht unterstützt." | "Der Client hat einen Teil der Datei angefordert, aber der Server kann diesen Teil nicht liefern." | "Der Server kann die Anforderungen des Erwartung-Anforderungskopffelds nicht erfüllen." | "Ich bin eine Teekanne." | "Die Anforderung wurde an einen Server gerichtet, der nicht in der Lage ist, eine Antwort zu generieren." | "Die Anforderung war gut formuliert, konnte aber aufgrund semantischer Fehler nicht befolgt werden." | "Die Ressource, auf die zugegriffen wird, ist gesperrt." | "Die Anforderung ist aufgrund eines Fehlers einer vorherigen Anforderung fehlgeschlagen." | "Der Server ist nicht bereit, die Anforderung zu verarbeiten, weil der Benutzer nicht authentifiziert wurde." | "Der Client sollte zu einem anderen Protokoll wie TLS/1.0 wechseln, das im Upgrade-Anforderungskopffeld angegeben ist." | "Der Ursprungsserver erfordert, dass die Anforderung bedingt ist." | "Sie haben in einer bestimmten Zeit zu viele Anfragen gesendet. Bitte versuchen Sie es später erneut." | "Der Server ist nicht bereit, die Anforderung zu verarbeiten, weil seine Kopffelder zu groß sind." | "Die Ressource ist aufgrund einer rechtlichen Forderung nicht verfügbar." | "Etwas ist schief gelaufen. Bitte versuchen Sie es später erneut." | "Der Server unterstützt die zur Erfüllung der Anforderung erforderliche Funktionalität nicht." | "Der Server kann die Anforderung derzeit nicht bearbeiten, da er vorübergehend überlastet oder gewartet wird." | "Der Server hat beim Versuch, die Anforderung abzuschließen, keine rechtzeitige Antwort vom Server erhalten." | "Der Server unterstützt die in der Anforderung verwendete HTTP-Protokollversion nicht." | "Der Server hat einen internen Konfigurationsfehler: Die ausgewählte Variantenressource ist so konfiguriert, dass sie sich selbst in die transparente Inhaltsverhandlung einbindet, und ist daher kein geeigneter Endpunkt im Verhandlungsprozess." | "Die Methode konnte auf die Ressource nicht angewendet werden, weil der Server nicht in der Lage ist, die für die erfolgreiche Ausführung der Anforderung erforderliche Darstellung zu speichern." | "Der Server hat eine Endlosschleife erkannt, während er die Anforderung verarbeitet." | "Weitere Erweiterungen der Anforderung sind erforderlich, damit der Server sie erfüllen kann." | "Sie müssen sich authentifizieren, um Zugang zum Netzwerk zu erhalten." | "Etwas ist schief gelaufen. Überprüfen Sie Ihre Internetverbindung und versuchen Sie es später erneut.";
1660
+
1661
+ declare class ParseHttpErrorCodeToTitleDePipe implements PipeTransform {
1662
+ transform: (statusCode: _angular_common_module_d_yNBsZ8gb.HttpStatusCode) => "Ungültige Anfrage" | "Nicht autorisiert" | "Zahlung erforderlich" | "Verboten" | "Nicht gefunden" | "Methode nicht erlaubt" | "Nicht akzeptabel" | "Proxy-Authentifizierung erforderlich" | "Anforderungszeitüberschreitung" | "Konflikt" | "Weg" | "Länge erforderlich" | "Vorbedingung fehlgeschlagen" | "Nutzlast zu groß" | "URI zu lang" | "Nicht unterstützter Medientyp" | "Bereich nicht zufriedenstellend" | "Erwartung fehlgeschlagen" | "Ich bin eine Teekanne" | "Fehlgeleitete Anfrage" | "Unverarbeitbare Entität" | "Gesperrt" | "Fehlgeschlagene Abhängigkeit" | "Zu früh" | "Upgrade erforderlich" | "Vorbedingung erforderlich" | "Zu viele Anfragen" | "Anforderungskopffelder zu groß" | "Aus rechtlichen Gründen nicht verfügbar" | "Interner Serverfehler" | "Nicht implementiert" | "Schlechtes Gateway" | "Dienst nicht verfügbar" | "Gateway-Zeitüberschreitung" | "HTTP-Version nicht unterstützt" | "Variante verhandelt auch" | "Unzureichender Speicher" | "Schleifenerkennung" | "Nicht erweitert" | "Netzwerkauthentifizierung erforderlich" | "Etwas ist schief gelaufen";
1663
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ParseHttpErrorCodeToTitleDePipe, never>;
1664
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<ParseHttpErrorCodeToTitleDePipe, "parseHttpErrorCodeToTitleDe", true>;
1665
+ }
1666
+ declare class ParseHttpErrorCodeToMessageDePipe implements PipeTransform {
1667
+ transform: (statusCode: _angular_common_module_d_yNBsZ8gb.HttpStatusCode) => "Entschuldigung, wir konnten Ihre Anfrage nicht bearbeiten. Bitte versuchen Sie es später erneut." | "Sie sind nicht berechtigt, diese Aktion auszuführen. Bitte melden Sie sich an, um fortzufahren." | "Zur Ausführung dieser Aktion ist eine Zahlung erforderlich." | "Sie haben keine Berechtigung, diese Aktion auszuführen." | "Die angeforderte Ressource wurde nicht gefunden." | "Die angeforderte Methode ist für diese Ressource nicht zulässig." | "Die angeforderte Ressource ist nicht in der Lage, eine Antwort zu generieren, die der Liste der akzeptablen Werte entspricht." | "Zur Ausführung dieser Aktion ist eine Proxy-Authentifizierung erforderlich." | "Der Server hat auf die Anforderung gewartet." | "Die Anforderung steht im Widerspruch zum aktuellen Zustand der Ressource." | "Die angeforderte Ressource ist nicht mehr verfügbar und wird auch nicht mehr verfügbar sein." | "Die Anforderung hat die Länge ihres Inhalts nicht angegeben, die von der angeforderten Ressource benötigt wird." | "Der Server erfüllt eine der Voraussetzungen nicht, die der Anforderer an die Anforderung gestellt hat." | "Die Anforderung ist größer als der Server bereit oder in der Lage ist, zu verarbeiten." | "Die bereitgestellte URL war für den Server zu lang, um sie zu verarbeiten." | "Die Anforderungseinheit hat einen Medientyp, den der Server oder die Ressource nicht unterstützt." | "Der Client hat einen Teil der Datei angefordert, aber der Server kann diesen Teil nicht liefern." | "Der Server kann die Anforderungen des Erwartung-Anforderungskopffelds nicht erfüllen." | "Ich bin eine Teekanne." | "Die Anforderung wurde an einen Server gerichtet, der nicht in der Lage ist, eine Antwort zu generieren." | "Die Anforderung war gut formuliert, konnte aber aufgrund semantischer Fehler nicht befolgt werden." | "Die Ressource, auf die zugegriffen wird, ist gesperrt." | "Die Anforderung ist aufgrund eines Fehlers einer vorherigen Anforderung fehlgeschlagen." | "Der Server ist nicht bereit, die Anforderung zu verarbeiten, weil der Benutzer nicht authentifiziert wurde." | "Der Client sollte zu einem anderen Protokoll wie TLS/1.0 wechseln, das im Upgrade-Anforderungskopffeld angegeben ist." | "Der Ursprungsserver erfordert, dass die Anforderung bedingt ist." | "Sie haben in einer bestimmten Zeit zu viele Anfragen gesendet. Bitte versuchen Sie es später erneut." | "Der Server ist nicht bereit, die Anforderung zu verarbeiten, weil seine Kopffelder zu groß sind." | "Die Ressource ist aufgrund einer rechtlichen Forderung nicht verfügbar." | "Etwas ist schief gelaufen. Bitte versuchen Sie es später erneut." | "Der Server unterstützt die zur Erfüllung der Anforderung erforderliche Funktionalität nicht." | "Der Server kann die Anforderung derzeit nicht bearbeiten, da er vorübergehend überlastet oder gewartet wird." | "Der Server hat beim Versuch, die Anforderung abzuschließen, keine rechtzeitige Antwort vom Server erhalten." | "Der Server unterstützt die in der Anforderung verwendete HTTP-Protokollversion nicht." | "Der Server hat einen internen Konfigurationsfehler: Die ausgewählte Variantenressource ist so konfiguriert, dass sie sich selbst in die transparente Inhaltsverhandlung einbindet, und ist daher kein geeigneter Endpunkt im Verhandlungsprozess." | "Die Methode konnte auf die Ressource nicht angewendet werden, weil der Server nicht in der Lage ist, die für die erfolgreiche Ausführung der Anforderung erforderliche Darstellung zu speichern." | "Der Server hat eine Endlosschleife erkannt, während er die Anforderung verarbeitet." | "Weitere Erweiterungen der Anforderung sind erforderlich, damit der Server sie erfüllen kann." | "Sie müssen sich authentifizieren, um Zugang zum Netzwerk zu erhalten." | "Etwas ist schief gelaufen. Überprüfen Sie Ihre Internetverbindung und versuchen Sie es später erneut.";
1668
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ParseHttpErrorCodeToMessageDePipe, never>;
1669
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<ParseHttpErrorCodeToMessageDePipe, "parseHttpErrorCodeToMessageDe", true>;
1670
+ }
1671
+
1672
+ declare const parseHttpErrorCodeToTitleEn: (statusCode: HttpStatusCode) => "Bad request" | "Unauthorized" | "Payment required" | "Forbidden" | "Not found" | "Method not allowed" | "Not acceptable" | "Proxy authentication required" | "Request timeout" | "Conflict" | "Gone" | "Length required" | "Precondition failed" | "Payload too large" | "URI too long" | "Unsupported media type" | "Range not satisfiable" | "Expectation failed" | "I am a teapot" | "Misdirected request" | "Unprocessable entity" | "Locked" | "Failed dependency" | "Too early" | "Upgrade required" | "Precondition required" | "Too many requests" | "Request header fields too large" | "Unavailable for legal reasons" | "Internal server error" | "Not implemented" | "Bad gateway" | "Service unavailable" | "Gateway timeout" | "HTTP version not supported" | "Variant also negotiates" | "Insufficient storage" | "Loop detected" | "Not extended" | "Network authentication required" | "Something went wrong";
1673
+ declare const parseHttpErrorCodeToMessageEn: (statusCode: HttpStatusCode) => "Sorry, we could not process your request. Please try again later." | "You are not authorized to perform this action. Please log in to continue." | "Payment is required to complete this action." | "You do not have permission to perform this action." | "The requested resource was not found." | "The requested method is not allowed for this resource." | "The requested resource is not capable of generating a response matching the list of acceptable values." | "Proxy authentication is required to complete this action." | "The server timed out waiting for the request." | "The request conflicts with the current state of the resource." | "The requested resource is no longer available and will not be available again." | "The request did not specify the length of its content, which is required by the requested resource." | "The server does not meet one of the preconditions that the requester put on the request." | "The request is larger than the server is willing or able to process." | "The URL provided was too long for the server to process." | "The request entity has a media type which the server or resource does not support." | "The client has asked for a portion of the file, but the server cannot supply that portion." | "The server cannot meet the requirements of the Expect request-header field." | "I am a teapot." | "The request was directed at a server that is not able to produce a response." | "The request was well-formed but was unable to be followed due to semantic errors." | "The resource that is being accessed is locked." | "The request failed due to failure of a previous request." | "The server is unwilling to process the request because the user has not been authenticated." | "The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field." | "The origin server requires the request to be conditional." | "You have sent too many requests in a given amount of time. Please try again later." | "The server is unwilling to process the request because its header fields are too large." | "The resource is unavailable due to a legal demand." | "Something went wrong on our end. Please try again later." | "The server does not support the functionality required to fulfill the request." | "The server is currently unable to handle the request due to a temporary overload or maintenance of the server." | "The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URL or some other auxiliary server it needed to access in attempting to complete the request." | "The server does not support the HTTP protocol version used in the request." | "The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process." | "The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request." | "The server detected an infinite loop while processing the request." | "Further extensions to the request are required for the server to fulfill it." | "You need to authenticate to gain network access." | "Something went wrong. Check your internet connection and try again later.";
1674
+
1675
+ declare class ParseHttpErrorCodeToTitleEnPipe implements PipeTransform {
1676
+ transform: (statusCode: _angular_common_module_d_yNBsZ8gb.HttpStatusCode) => "Bad request" | "Unauthorized" | "Payment required" | "Forbidden" | "Not found" | "Method not allowed" | "Not acceptable" | "Proxy authentication required" | "Request timeout" | "Conflict" | "Gone" | "Length required" | "Precondition failed" | "Payload too large" | "URI too long" | "Unsupported media type" | "Range not satisfiable" | "Expectation failed" | "I am a teapot" | "Misdirected request" | "Unprocessable entity" | "Locked" | "Failed dependency" | "Too early" | "Upgrade required" | "Precondition required" | "Too many requests" | "Request header fields too large" | "Unavailable for legal reasons" | "Internal server error" | "Not implemented" | "Bad gateway" | "Service unavailable" | "Gateway timeout" | "HTTP version not supported" | "Variant also negotiates" | "Insufficient storage" | "Loop detected" | "Not extended" | "Network authentication required" | "Something went wrong";
1677
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ParseHttpErrorCodeToTitleEnPipe, never>;
1678
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<ParseHttpErrorCodeToTitleEnPipe, "parseHttpErrorCodeToTitleEn", true>;
1679
+ }
1680
+ declare class ParseHttpErrorCodeToMessageEnPipe implements PipeTransform {
1681
+ transform: (statusCode: _angular_common_module_d_yNBsZ8gb.HttpStatusCode) => "Sorry, we could not process your request. Please try again later." | "You are not authorized to perform this action. Please log in to continue." | "Payment is required to complete this action." | "You do not have permission to perform this action." | "The requested resource was not found." | "The requested method is not allowed for this resource." | "The requested resource is not capable of generating a response matching the list of acceptable values." | "Proxy authentication is required to complete this action." | "The server timed out waiting for the request." | "The request conflicts with the current state of the resource." | "The requested resource is no longer available and will not be available again." | "The request did not specify the length of its content, which is required by the requested resource." | "The server does not meet one of the preconditions that the requester put on the request." | "The request is larger than the server is willing or able to process." | "The URL provided was too long for the server to process." | "The request entity has a media type which the server or resource does not support." | "The client has asked for a portion of the file, but the server cannot supply that portion." | "The server cannot meet the requirements of the Expect request-header field." | "I am a teapot." | "The request was directed at a server that is not able to produce a response." | "The request was well-formed but was unable to be followed due to semantic errors." | "The resource that is being accessed is locked." | "The request failed due to failure of a previous request." | "The server is unwilling to process the request because the user has not been authenticated." | "The client should switch to a different protocol such as TLS/1.0, given in the Upgrade header field." | "The origin server requires the request to be conditional." | "You have sent too many requests in a given amount of time. Please try again later." | "The server is unwilling to process the request because its header fields are too large." | "The resource is unavailable due to a legal demand." | "Something went wrong on our end. Please try again later." | "The server does not support the functionality required to fulfill the request." | "The server is currently unable to handle the request due to a temporary overload or maintenance of the server." | "The server, while acting as a gateway or proxy, did not receive a timely response from the upstream server specified by the URL or some other auxiliary server it needed to access in attempting to complete the request." | "The server does not support the HTTP protocol version used in the request." | "The server has an internal configuration error: the chosen variant resource is configured to engage in transparent content negotiation itself, and is therefore not a proper end point in the negotiation process." | "The method could not be performed on the resource because the server is unable to store the representation needed to successfully complete the request." | "The server detected an infinite loop while processing the request." | "Further extensions to the request are required for the server to fulfill it." | "You need to authenticate to gain network access." | "Something went wrong. Check your internet connection and try again later.";
1682
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<ParseHttpErrorCodeToMessageEnPipe, never>;
1683
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<ParseHttpErrorCodeToMessageEnPipe, "parseHttpErrorCodeToMessageEn", true>;
1684
+ }
1685
+
1686
+ type CreateWebSocketClientTransport = 'polling' | 'websocket' | 'webtransport';
1687
+ type CreateWebSocketClientConfig = {
1688
+ /** A unique name for the client */
1689
+ name: string;
1690
+ /** The URL of the socket io server */
1691
+ url: string;
1692
+ /** A list of transports to try (in order). Engine.io always attempts to connect directly with the first one, provided the feature detection test for it passes. */
1693
+ transports?: CreateWebSocketClientTransport[];
1694
+ };
1695
+ type WebSocketClientRef<TMessageData extends SocketMessageView = SocketMessageView> = InjectionToken<WebSocketClient<TMessageData>>;
1696
+ type WebSocketClientConfig = CreateWebSocketClientConfig & {
1697
+ /** A generated token for dependency injection */
1698
+ token: WebSocketClientRef;
1699
+ };
1700
+ declare const createWebSocketClientConfig: (options: CreateWebSocketClientConfig) => WebSocketClientConfig;
1701
+
1702
+ /** A default socket io message view */
1703
+ type SocketMessageView<TMessageData = unknown> = {
1704
+ room: string;
1705
+ event: string;
1706
+ data: TMessageData;
1707
+ };
1708
+ type WebSocketClientSubtle = {
1709
+ /** Leave a socket io room */
1710
+ leaveRoom: (room: string) => void;
1711
+ };
1712
+ type WebSocketClient<TMessageData extends SocketMessageView> = {
1713
+ /**
1714
+ * Join a socket io room
1715
+ * If a function is passed, it will be evaluated in a reactive signal context.
1716
+ * If the function returns null, no room will be joined.
1717
+ * If the function returns a string, the previous room will be left and the new room will be joined.
1718
+ */
1719
+ joinRoom: (room: string | (() => string | null)) => Signal<WebSocketRoom<TMessageData> | null>;
1720
+ /** Whether the client is connected to the server */
1721
+ isConnected: Signal<boolean>;
1722
+ /** Advanced web socket features. **WARNING!** Incorrectly using these features will likely **BREAK** your application. You have been warned! */
1723
+ subtle: WebSocketClientSubtle;
1724
+ };
1725
+ type InternalWebSocketRoom<TMessageData extends SocketMessageView> = {
1726
+ latestMessage: WritableSignal<TMessageData | null>;
1727
+ };
1728
+ type WebSocketRoom<TMessageData extends SocketMessageView> = {
1729
+ /** The latest message received in the room */
1730
+ latestMessage: Signal<TMessageData | null>;
1731
+ };
1732
+ declare const createWebSocketClient: <TMessageData extends SocketMessageView>(config: WebSocketClientConfig) => WebSocketClient<TMessageData>;
1733
+ declare const provideWebSocketClient: (config: WebSocketClientConfig) => {
1734
+ provide: WebSocketClientRef<SocketMessageView>;
1735
+ useFactory: () => WebSocketClient<SocketMessageView<unknown>>;
1736
+ };
1737
+
1738
+ type index_d_AnyBearerAuthProviderConfig = AnyBearerAuthProviderConfig;
1739
+ type index_d_AnyLegacyQuery = AnyLegacyQuery;
1740
+ type index_d_AnyLegacyQueryCreator = AnyLegacyQueryCreator;
1741
+ type index_d_AnyPagedQueryStack = AnyPagedQueryStack;
1742
+ type index_d_AnyQuerySnapshot = AnyQuerySnapshot;
1743
+ type index_d_AnyQueryStack = AnyQueryStack;
1744
+ type index_d_BearerAuthProviderConfig<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = BearerAuthProviderConfig<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
1745
+ type index_d_BearerAuthProviderCookieConfig<TTokenRefreshArgs extends QueryArgs> = BearerAuthProviderCookieConfig<TTokenRefreshArgs>;
1746
+ type index_d_BearerAuthProviderRef<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = BearerAuthProviderRef<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
1747
+ type index_d_BearerAuthProviderRouteConfig<TArgs extends QueryArgs> = BearerAuthProviderRouteConfig<TArgs>;
1748
+ type index_d_BearerAuthProviderTokens = BearerAuthProviderTokens;
1749
+ type index_d_BodyType<T extends QueryArgs | null> = BodyType<T>;
1750
+ declare const index_d_CLEAR_QUERY_ARGS: typeof CLEAR_QUERY_ARGS;
1751
+ type index_d_CacheAdapterFn = CacheAdapterFn;
1752
+ type index_d_CleanupPreviousExecuteOptions<TArgs extends QueryArgs> = CleanupPreviousExecuteOptions<TArgs>;
1753
+ type index_d_ClearQueryArgs = ClearQueryArgs;
1754
+ type index_d_CreateBearerAuthProviderConfigOptions<TLoginArgs extends QueryArgs, TTokenLoginArgs extends QueryArgs, TTokenRefreshArgs extends QueryArgs, TSelectRoleArgs extends QueryArgs, TBearerData> = CreateBearerAuthProviderConfigOptions<TLoginArgs, TTokenLoginArgs, TTokenRefreshArgs, TSelectRoleArgs, TBearerData>;
1755
+ type index_d_CreateGqlQueryCreatorOptions<TArgs extends GqlQueryArgs> = CreateGqlQueryCreatorOptions<TArgs>;
1756
+ type index_d_CreateGqlQueryExecuteOptions<TArgs extends QueryArgs> = CreateGqlQueryExecuteOptions<TArgs>;
1757
+ type index_d_CreateGqlQueryOptions<TArgs extends GqlQueryArgs> = CreateGqlQueryOptions<TArgs>;
1758
+ type index_d_CreateHttpRequestClientOptions = CreateHttpRequestClientOptions;
1759
+ type index_d_CreateHttpRequestDependencies = CreateHttpRequestDependencies;
1760
+ type index_d_CreateHttpRequestOptions<TArgs extends QueryArgs> = CreateHttpRequestOptions<TArgs>;
1761
+ type index_d_CreateLegacyQueryCreatorOptions<TArgs extends QueryArgs, Response, Store extends EntityStore<unknown>, Data, Id> = CreateLegacyQueryCreatorOptions<TArgs, Response, Store, Data, Id>;
1762
+ type index_d_CreateLegacyQueryOptions<TArgs extends QueryArgs> = CreateLegacyQueryOptions<TArgs>;
1763
+ type index_d_CreatePagedQueryStackOptions<TArgs extends QueryArgs, TNormPagination extends NormalizedPagination<unknown>> = CreatePagedQueryStackOptions<TArgs, TNormPagination>;
1764
+ type index_d_CreateQueryClientConfigOptions = CreateQueryClientConfigOptions;
1765
+ type index_d_CreateQueryCreatorOptions = CreateQueryCreatorOptions;
1766
+ type index_d_CreateQueryExecuteOptions<TArgs extends QueryArgs> = CreateQueryExecuteOptions<TArgs>;
1767
+ type index_d_CreateQueryObjectOptions<TArgs extends QueryArgs> = CreateQueryObjectOptions<TArgs>;
1768
+ type index_d_CreateQueryOptions<TArgs extends QueryArgs> = CreateQueryOptions<TArgs>;
1769
+ type index_d_CreateQueryRepositoryConfig = CreateQueryRepositoryConfig;
1770
+ type index_d_CreateQuerySnapshotOptions<TArgs extends QueryArgs> = CreateQuerySnapshotOptions<TArgs>;
1771
+ type index_d_CreateQueryStackOptions<TCreator extends AnyQueryCreator$1, TDeps extends () => any, TTransform = (ResponseType<QueryArgsOf$1<TCreator>> | null)[]> = CreateQueryStackOptions<TCreator, TDeps, TTransform>;
1772
+ type index_d_CreateSecureQueryExecuteOptions<TArgs extends QueryArgs> = CreateSecureQueryExecuteOptions<TArgs>;
1773
+ type index_d_CreateSecureQueryOptions<TArgs extends QueryArgs> = CreateSecureQueryOptions<TArgs>;
1774
+ type index_d_CreateWebSocketClientConfig = CreateWebSocketClientConfig;
1775
+ type index_d_CreateWebSocketClientTransport = CreateWebSocketClientTransport;
1776
+ type index_d_GqlQueryArgs = GqlQueryArgs;
1777
+ type index_d_GqlQueryMethod = GqlQueryMethod;
1778
+ type index_d_GqlQueryTransport = GqlQueryTransport;
1779
+ type index_d_GqlVariablesType<T extends GqlQueryArgs | null> = GqlVariablesType<T>;
1780
+ type index_d_HttpErrorEvent = HttpErrorEvent;
1781
+ type index_d_HttpRequest<TArgs extends QueryArgs> = HttpRequest<TArgs>;
1782
+ type index_d_HttpRequestLoadingProgressState = HttpRequestLoadingProgressState;
1783
+ type index_d_HttpRequestLoadingState = HttpRequestLoadingState;
1784
+ type index_d_HttpRequestResponseType = HttpRequestResponseType;
1785
+ type index_d_HttpRequestTransferCacheConfig = HttpRequestTransferCacheConfig;
1786
+ type index_d_InternalCreateGqlQueryCreatorOptions = InternalCreateGqlQueryCreatorOptions;
1787
+ type index_d_InternalCreateQueryCreatorOptions<TArgs extends QueryArgs> = InternalCreateQueryCreatorOptions<TArgs>;
1788
+ type index_d_InternalQueryExecute<TArgs extends QueryArgs> = InternalQueryExecute<TArgs>;
1789
+ type index_d_InternalRunQueryExecuteOptions = InternalRunQueryExecuteOptions;
1790
+ type index_d_InternalSecureCreateQueryCreatorOptions<TArgs extends QueryArgs> = InternalSecureCreateQueryCreatorOptions<TArgs>;
1791
+ type index_d_InternalWebSocketRoom<TMessageData extends SocketMessageView> = InternalWebSocketRoom<TMessageData>;
1792
+ type index_d_LegacyArgumentsOfQueryArgs<T extends QueryArgs> = LegacyArgumentsOfQueryArgs<T>;
1793
+ type index_d_LegacyQuery<Response, Arguments extends BaseArguments | undefined, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id, TNewQuery extends AnyQuery$1> = LegacyQuery<Response, Arguments, Route, Store, Data, Id, TNewQuery>;
1794
+ declare const index_d_LegacyQuery: typeof LegacyQuery;
1795
+ type index_d_LegacyQueryCreator<TArgs extends QueryArgs, Response extends ResponseType<TArgs>, Store extends EntityStore<unknown>, Id, Data = Response> = LegacyQueryCreator<TArgs, Response, Store, Id, Data>;
1796
+ declare const index_d_LegacyQueryCreator: typeof LegacyQueryCreator;
1797
+ type index_d_LegacyQueryPrepareFn<Arguments extends BaseArguments | undefined, Response, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id, TNewQuery extends AnyQuery$1> = LegacyQueryPrepareFn<Arguments, Response, Route, Store, Data, Id, TNewQuery>;
1798
+ type index_d_PagedQueryStack<TQuery extends AnyQuery$1, TNormPagination extends NormalizedPagination<unknown>> = PagedQueryStack<TQuery, TNormPagination>;
1799
+ type index_d_PagedQueryStackDirection = PagedQueryStackDirection;
1800
+ type index_d_PagedQueryStackExecuteOptions<TNormPagination extends NormalizedPagination<unknown>> = PagedQueryStackExecuteOptions<TNormPagination>;
1801
+ type index_d_PagedQueryStackResetOptions = PagedQueryStackResetOptions;
1802
+ type index_d_ParseHttpErrorCodeToMessageDePipe = ParseHttpErrorCodeToMessageDePipe;
1803
+ declare const index_d_ParseHttpErrorCodeToMessageDePipe: typeof ParseHttpErrorCodeToMessageDePipe;
1804
+ type index_d_ParseHttpErrorCodeToMessageEnPipe = ParseHttpErrorCodeToMessageEnPipe;
1805
+ declare const index_d_ParseHttpErrorCodeToMessageEnPipe: typeof ParseHttpErrorCodeToMessageEnPipe;
1806
+ type index_d_ParseHttpErrorCodeToTitleDePipe = ParseHttpErrorCodeToTitleDePipe;
1807
+ declare const index_d_ParseHttpErrorCodeToTitleDePipe: typeof ParseHttpErrorCodeToTitleDePipe;
1808
+ type index_d_ParseHttpErrorCodeToTitleEnPipe = ParseHttpErrorCodeToTitleEnPipe;
1809
+ declare const index_d_ParseHttpErrorCodeToTitleEnPipe: typeof ParseHttpErrorCodeToTitleEnPipe;
1810
+ type index_d_PathParamsType<T extends QueryArgs | null> = PathParamsType<T>;
1811
+ type index_d_QueryArgs = QueryArgs;
1812
+ type index_d_QueryArgsOfLegacyArguments<T extends BaseArguments | undefined, J> = QueryArgsOfLegacyArguments<T, J>;
1813
+ type index_d_QueryBase<TArgs extends QueryArgs> = QueryBase<TArgs>;
1814
+ type index_d_QueryClientRef = QueryClientRef;
1815
+ type index_d_QueryDependencies = QueryDependencies;
1816
+ type index_d_QueryErrorResponse = QueryErrorResponse;
1817
+ type index_d_QueryErrorResponseItem = QueryErrorResponseItem;
1818
+ type index_d_QueryErrorResponseList = QueryErrorResponseList;
1819
+ type index_d_QueryErrorResponseSingle = QueryErrorResponseSingle;
1820
+ type index_d_QueryExecute<TArgs extends QueryArgs> = QueryExecute<TArgs>;
1821
+ type index_d_QueryExecuteArgs<TArgs extends QueryArgs> = QueryExecuteArgs<TArgs>;
1822
+ type index_d_QueryExecuteOptions<TArgs extends QueryArgs> = QueryExecuteOptions<TArgs>;
1823
+ type index_d_QueryExecuteState = QueryExecuteState;
1824
+ type index_d_QueryExecutionState<TArgs extends QueryArgs> = QueryExecutionState<TArgs>;
1825
+ type index_d_QueryExecutionStateFailure = QueryExecutionStateFailure;
1826
+ type index_d_QueryExecutionStateLoading<TArgs extends QueryArgs> = QueryExecutionStateLoading<TArgs>;
1827
+ type index_d_QueryExecutionStateLoadingWithCachedResponse<TArgs extends QueryArgs> = QueryExecutionStateLoadingWithCachedResponse<TArgs>;
1828
+ type index_d_QueryExecutionStateLoadingWithNoResponse = QueryExecutionStateLoadingWithNoResponse;
1829
+ type index_d_QueryExecutionStateSuccess<TArgs extends QueryArgs> = QueryExecutionStateSuccess<TArgs>;
1830
+ type index_d_QueryFeature<TArgs extends QueryArgs> = QueryFeature<TArgs>;
1831
+ type index_d_QueryFeatureContext<TArgs extends QueryArgs> = QueryFeatureContext<TArgs>;
1832
+ type index_d_QueryFeatureFlags = QueryFeatureFlags;
1833
+ type index_d_QueryFeatureFn<TArgs extends QueryArgs> = QueryFeatureFn<TArgs>;
1834
+ type index_d_QueryFeatureType = QueryFeatureType;
1835
+ declare const index_d_QueryFeatureType: typeof QueryFeatureType;
1836
+ type index_d_QueryKey = QueryKey;
1837
+ type index_d_QueryKeyNoCache = QueryKeyNoCache;
1838
+ type index_d_QueryKeyOrNone = QueryKeyOrNone;
1839
+ type index_d_QueryMethod = QueryMethod;
1840
+ type index_d_QueryParamsType<T extends QueryArgs | null> = QueryParamsType<T>;
1841
+ type index_d_QueryRepository = QueryRepository;
1842
+ type index_d_QueryRepositoryDependencies = QueryRepositoryDependencies;
1843
+ type index_d_QueryRepositoryItem<TArgs extends QueryArgs> = QueryRepositoryItem<TArgs>;
1844
+ type index_d_QueryRepositoryRequestOptions<TArgs extends QueryArgs> = QueryRepositoryRequestOptions<TArgs>;
1845
+ type index_d_QueryRuntimeErrorCode = QueryRuntimeErrorCode;
1846
+ declare const index_d_QueryRuntimeErrorCode: typeof QueryRuntimeErrorCode;
1847
+ type index_d_QuerySnapshot<TArgs extends QueryArgs> = QuerySnapshot<TArgs>;
1848
+ type index_d_QueryStack<TQuery extends AnyQuery$1, TCreator extends AnyQueryCreator$1, TTransform> = QueryStack<TQuery, TCreator, TTransform>;
1849
+ type index_d_QueryStackSubtle<TCreator extends AnyQueryCreator$1, TQuery extends AnyQuery$1> = QueryStackSubtle<TCreator, TQuery>;
1850
+ type index_d_QueryStateSubtle<TArgs extends QueryArgs> = QueryStateSubtle<TArgs>;
1851
+ type index_d_QuerySubtle<TArgs extends QueryArgs> = QuerySubtle<TArgs>;
1852
+ type index_d_ReadonlyQuery<TArgs extends QueryArgs> = ReadonlyQuery<TArgs>;
1853
+ type index_d_RequestArgs<T extends QueryArgs | null> = RequestArgs<T>;
1854
+ type index_d_ResetExecuteStateOptions<TArgs extends QueryArgs> = ResetExecuteStateOptions<TArgs>;
1855
+ type index_d_ResponseType<T extends QueryArgs | null> = ResponseType<T>;
1856
+ type index_d_RunQueryCreator<TCreator extends AnyQueryCreator$1> = RunQueryCreator<TCreator>;
1857
+ type index_d_RunQueryExecuteOptions = RunQueryExecuteOptions;
1858
+ declare const index_d_SPEED_BUFFER_TIME_IN_MS: typeof SPEED_BUFFER_TIME_IN_MS;
1859
+ type index_d_SetupQueryDependenciesOptions = SetupQueryDependenciesOptions;
1860
+ type index_d_SetupQueryStateOptions = SetupQueryStateOptions;
1861
+ type index_d_ShouldRetryRequestFn = ShouldRetryRequestFn;
1862
+ type index_d_ShouldRetryRequestOptions = ShouldRetryRequestOptions;
1863
+ type index_d_ShouldRetryRequestResult = ShouldRetryRequestResult;
1864
+ type index_d_SocketMessageView<TMessageData = unknown> = SocketMessageView<TMessageData>;
1865
+ type index_d_WebSocketClient<TMessageData extends SocketMessageView> = WebSocketClient<TMessageData>;
1866
+ type index_d_WebSocketClientConfig = WebSocketClientConfig;
1867
+ type index_d_WebSocketClientRef<TMessageData extends SocketMessageView = SocketMessageView> = WebSocketClientRef<TMessageData>;
1868
+ type index_d_WebSocketClientSubtle = WebSocketClientSubtle;
1869
+ type index_d_WebSocketRoom<TMessageData extends SocketMessageView> = WebSocketRoom<TMessageData>;
1870
+ type index_d_WithAutoRefreshFeatureOptions = WithAutoRefreshFeatureOptions;
1871
+ type index_d_WithErrorHandlingFeatureOptions = WithErrorHandlingFeatureOptions;
1872
+ type index_d_WithLegacyConfig = WithLegacyConfig;
1873
+ type index_d_WithLoggingFeatureOptions<TArgs extends QueryArgs> = WithLoggingFeatureOptions<TArgs>;
1874
+ type index_d_WithPollingFeatureOptions = WithPollingFeatureOptions;
1875
+ type index_d_WithResponseUpdateFeatureFnData<TArgs extends QueryArgs> = WithResponseUpdateFeatureFnData<TArgs>;
1876
+ type index_d_WithResponseUpdateFeatureOptions<TArgs extends QueryArgs> = WithResponseUpdateFeatureOptions<TArgs>;
1877
+ declare const index_d_applyQueryFeatures: typeof applyQueryFeatures;
1878
+ declare const index_d_bearerExpiresInPropertyNotNumber: typeof bearerExpiresInPropertyNotNumber;
1879
+ declare const index_d_circularQueryDependencyChecker: typeof circularQueryDependencyChecker;
1880
+ declare const index_d_cleanupPreviousExecute: typeof cleanupPreviousExecute;
1881
+ declare const index_d_contentfulGqlLikePaginationAdapter: typeof contentfulGqlLikePaginationAdapter;
1882
+ declare const index_d_cookieLoginTriedButCookieDisabled: typeof cookieLoginTriedButCookieDisabled;
1883
+ declare const index_d_createBearerAuthProvider: typeof createBearerAuthProvider;
1884
+ declare const index_d_createBearerAuthProviderConfig: typeof createBearerAuthProviderConfig;
1885
+ declare const index_d_createDeleteQuery: typeof createDeleteQuery;
1886
+ declare const index_d_createExecuteFn: typeof createExecuteFn;
1887
+ declare const index_d_createGetQuery: typeof createGetQuery;
1888
+ declare const index_d_createGqlExecuteFn: typeof createGqlExecuteFn;
1889
+ declare const index_d_createGqlMutationViaGet: typeof createGqlMutationViaGet;
1890
+ declare const index_d_createGqlMutationViaPost: typeof createGqlMutationViaPost;
1891
+ declare const index_d_createGqlQuery: typeof createGqlQuery;
1892
+ declare const index_d_createGqlQueryCreator: typeof createGqlQueryCreator;
1893
+ declare const index_d_createGqlQueryViaGet: typeof createGqlQueryViaGet;
1894
+ declare const index_d_createGqlQueryViaPost: typeof createGqlQueryViaPost;
1895
+ declare const index_d_createHttpRequest: typeof createHttpRequest;
1896
+ declare const index_d_createLegacyQueryCreator: typeof createLegacyQueryCreator;
1897
+ declare const index_d_createPagedQueryStack: typeof createPagedQueryStack;
1898
+ declare const index_d_createPatchQuery: typeof createPatchQuery;
1899
+ declare const index_d_createPostQuery: typeof createPostQuery;
1900
+ declare const index_d_createPutQuery: typeof createPutQuery;
1901
+ declare const index_d_createQuery: typeof createQuery;
1902
+ declare const index_d_createQueryClient: typeof createQueryClient;
1903
+ declare const index_d_createQueryClientConfig: typeof createQueryClientConfig;
1904
+ declare const index_d_createQueryCreator: typeof createQueryCreator;
1905
+ declare const index_d_createQueryErrorResponse: typeof createQueryErrorResponse;
1906
+ declare const index_d_createQueryObject: typeof createQueryObject;
1907
+ declare const index_d_createQueryRepository: typeof createQueryRepository;
1908
+ declare const index_d_createQuerySnapshotFn: typeof createQuerySnapshotFn;
1909
+ declare const index_d_createQueryStack: typeof createQueryStack;
1910
+ declare const index_d_createSecureDeleteQuery: typeof createSecureDeleteQuery;
1911
+ declare const index_d_createSecureExecuteFn: typeof createSecureExecuteFn;
1912
+ declare const index_d_createSecureGetQuery: typeof createSecureGetQuery;
1913
+ declare const index_d_createSecurePatchQuery: typeof createSecurePatchQuery;
1914
+ declare const index_d_createSecurePostQuery: typeof createSecurePostQuery;
1915
+ declare const index_d_createSecurePutQuery: typeof createSecurePutQuery;
1916
+ declare const index_d_createSecureQuery: typeof createSecureQuery;
1917
+ declare const index_d_createSecureQueryCreator: typeof createSecureQueryCreator;
1918
+ declare const index_d_createWebSocketClient: typeof createWebSocketClient;
1919
+ declare const index_d_createWebSocketClientConfig: typeof createWebSocketClientConfig;
1920
+ declare const index_d_defaultResponseTransformerResponseNotContainingAccessToken: typeof defaultResponseTransformerResponseNotContainingAccessToken;
1921
+ declare const index_d_defaultResponseTransformerResponseNotContainingRefreshToken: typeof defaultResponseTransformerResponseNotContainingRefreshToken;
1922
+ declare const index_d_defaultResponseTransformerResponseNotObject: typeof defaultResponseTransformerResponseNotObject;
1923
+ declare const index_d_disableCookieCalledWithoutCookieConfig: typeof disableCookieCalledWithoutCookieConfig;
1924
+ declare const index_d_dynLikePaginationAdapter: typeof dynLikePaginationAdapter;
1925
+ declare const index_d_enableCookieCalledWithoutCookieConfig: typeof enableCookieCalledWithoutCookieConfig;
1926
+ declare const index_d_ethletePaginationAdapter: typeof ethletePaginationAdapter;
1927
+ declare const index_d_extractExpiresInSeconds: typeof extractExpiresInSeconds;
1928
+ declare const index_d_fakePaginationAdapter: typeof fakePaginationAdapter;
1929
+ declare const index_d_getQueryFeatureUsage: typeof getQueryFeatureUsage;
1930
+ declare const index_d_ggLikePaginationAdapter: typeof ggLikePaginationAdapter;
1931
+ declare const index_d_isCreateGqlQueryOptions: typeof isCreateGqlQueryOptions;
1932
+ declare const index_d_isLegacyQuery: typeof isLegacyQuery;
1933
+ declare const index_d_loginCalledWithoutConfig: typeof loginCalledWithoutConfig;
1934
+ declare const index_d_loginWithTokenCalledWithoutConfig: typeof loginWithTokenCalledWithoutConfig;
1935
+ declare const index_d_maybeExecute: typeof maybeExecute;
1936
+ declare const index_d_nestedEffect: typeof nestedEffect;
1937
+ declare const index_d_normalizeQueryRepositoryKey: typeof normalizeQueryRepositoryKey;
1938
+ declare const index_d_pagedQueryStackNextPageCalledWithoutPreviousPage: typeof pagedQueryStackNextPageCalledWithoutPreviousPage;
1939
+ declare const index_d_pagedQueryStackPageBiggerThanTotalPages: typeof pagedQueryStackPageBiggerThanTotalPages;
1940
+ declare const index_d_pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage: typeof pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage;
1941
+ declare const index_d_parseHttpErrorCodeToMessageDe: typeof parseHttpErrorCodeToMessageDe;
1942
+ declare const index_d_parseHttpErrorCodeToMessageEn: typeof parseHttpErrorCodeToMessageEn;
1943
+ declare const index_d_parseHttpErrorCodeToTitleDe: typeof parseHttpErrorCodeToTitleDe;
1944
+ declare const index_d_parseHttpErrorCodeToTitleEn: typeof parseHttpErrorCodeToTitleEn;
1945
+ declare const index_d_provideBearerAuthProvider: typeof provideBearerAuthProvider;
1946
+ declare const index_d_provideQueryClient: typeof provideQueryClient;
1947
+ declare const index_d_provideWebSocketClient: typeof provideWebSocketClient;
1948
+ declare const index_d_queryExecute: typeof queryExecute;
1949
+ declare const index_d_queryFeatureUsedMultipleTimes: typeof queryFeatureUsedMultipleTimes;
1950
+ declare const index_d_queryStackTotalQueriesAndExpectedQueriesMismatch: typeof queryStackTotalQueriesAndExpectedQueriesMismatch;
1951
+ declare const index_d_queryStackWithArgsUsed: typeof queryStackWithArgsUsed;
1952
+ declare const index_d_queryStackWithResponseUpdateUsed: typeof queryStackWithResponseUpdateUsed;
1953
+ declare const index_d_refreshTokenCalledWithoutConfig: typeof refreshTokenCalledWithoutConfig;
1954
+ declare const index_d_resetExecuteState: typeof resetExecuteState;
1955
+ declare const index_d_selectRoleCalledWithoutConfig: typeof selectRoleCalledWithoutConfig;
1956
+ declare const index_d_setupQueryDependencies: typeof setupQueryDependencies;
1957
+ declare const index_d_setupQueryExecuteState: typeof setupQueryExecuteState;
1958
+ declare const index_d_setupQueryState: typeof setupQueryState;
1959
+ declare const index_d_shouldAutoExecuteGqlQuery: typeof shouldAutoExecuteGqlQuery;
1960
+ declare const index_d_shouldAutoExecuteQuery: typeof shouldAutoExecuteQuery;
1961
+ declare const index_d_shouldRetryRequest: typeof shouldRetryRequest;
1962
+ declare const index_d_silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent: typeof silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent;
1963
+ declare const index_d_splitQueryConfig: typeof splitQueryConfig;
1964
+ declare const index_d_transformArrayResponse: typeof transformArrayResponse;
1965
+ declare const index_d_transformPaginatedResponse: typeof transformPaginatedResponse;
1966
+ declare const index_d_unableToDecryptBearerToken: typeof unableToDecryptBearerToken;
1967
+ declare const index_d_uncacheableRequestHasAllowCacheParam: typeof uncacheableRequestHasAllowCacheParam;
1968
+ declare const index_d_uncacheableRequestHasCacheKeyParam: typeof uncacheableRequestHasCacheKeyParam;
1969
+ declare const index_d_withArgs: typeof withArgs;
1970
+ declare const index_d_withArgsQueryFeatureMissingButRouteIsFunction: typeof withArgsQueryFeatureMissingButRouteIsFunction;
1971
+ declare const index_d_withAutoRefresh: typeof withAutoRefresh;
1972
+ declare const index_d_withAutoRefreshUsedInManualQuery: typeof withAutoRefreshUsedInManualQuery;
1973
+ declare const index_d_withAutoRefreshUsedOnUnsupportedHttpMethod: typeof withAutoRefreshUsedOnUnsupportedHttpMethod;
1974
+ declare const index_d_withErrorHandling: typeof withErrorHandling;
1975
+ declare const index_d_withLogging: typeof withLogging;
1976
+ declare const index_d_withPolling: typeof withPolling;
1977
+ declare const index_d_withPollingUsedOnUnsupportedHttpMethod: typeof withPollingUsedOnUnsupportedHttpMethod;
1978
+ declare const index_d_withResponseUpdate: typeof withResponseUpdate;
1979
+ declare const index_d_withSuccessHandling: typeof withSuccessHandling;
1980
+ declare namespace index_d {
1981
+ export { index_d_CLEAR_QUERY_ARGS as CLEAR_QUERY_ARGS, index_d_LegacyQuery as LegacyQuery, index_d_LegacyQueryCreator as LegacyQueryCreator, index_d_ParseHttpErrorCodeToMessageDePipe as ParseHttpErrorCodeToMessageDePipe, index_d_ParseHttpErrorCodeToMessageEnPipe as ParseHttpErrorCodeToMessageEnPipe, index_d_ParseHttpErrorCodeToTitleDePipe as ParseHttpErrorCodeToTitleDePipe, index_d_ParseHttpErrorCodeToTitleEnPipe as ParseHttpErrorCodeToTitleEnPipe, index_d_QueryFeatureType as QueryFeatureType, index_d_QueryRuntimeErrorCode as QueryRuntimeErrorCode, index_d_SPEED_BUFFER_TIME_IN_MS as SPEED_BUFFER_TIME_IN_MS, index_d_applyQueryFeatures as applyQueryFeatures, index_d_bearerExpiresInPropertyNotNumber as bearerExpiresInPropertyNotNumber, buildQueryCacheKey$1 as buildQueryCacheKey, index_d_circularQueryDependencyChecker as circularQueryDependencyChecker, index_d_cleanupPreviousExecute as cleanupPreviousExecute, index_d_contentfulGqlLikePaginationAdapter as contentfulGqlLikePaginationAdapter, index_d_cookieLoginTriedButCookieDisabled as cookieLoginTriedButCookieDisabled, index_d_createBearerAuthProvider as createBearerAuthProvider, index_d_createBearerAuthProviderConfig as createBearerAuthProviderConfig, index_d_createDeleteQuery as createDeleteQuery, index_d_createExecuteFn as createExecuteFn, index_d_createGetQuery as createGetQuery, index_d_createGqlExecuteFn as createGqlExecuteFn, index_d_createGqlMutationViaGet as createGqlMutationViaGet, index_d_createGqlMutationViaPost as createGqlMutationViaPost, index_d_createGqlQuery as createGqlQuery, index_d_createGqlQueryCreator as createGqlQueryCreator, index_d_createGqlQueryViaGet as createGqlQueryViaGet, index_d_createGqlQueryViaPost as createGqlQueryViaPost, index_d_createHttpRequest as createHttpRequest, index_d_createLegacyQueryCreator as createLegacyQueryCreator, index_d_createPagedQueryStack as createPagedQueryStack, index_d_createPatchQuery as createPatchQuery, index_d_createPostQuery as createPostQuery, index_d_createPutQuery as createPutQuery, index_d_createQuery as createQuery, index_d_createQueryClient as createQueryClient, index_d_createQueryClientConfig as createQueryClientConfig, index_d_createQueryCreator as createQueryCreator, index_d_createQueryErrorResponse as createQueryErrorResponse, index_d_createQueryObject as createQueryObject, index_d_createQueryRepository as createQueryRepository, index_d_createQuerySnapshotFn as createQuerySnapshotFn, index_d_createQueryStack as createQueryStack, index_d_createSecureDeleteQuery as createSecureDeleteQuery, index_d_createSecureExecuteFn as createSecureExecuteFn, index_d_createSecureGetQuery as createSecureGetQuery, index_d_createSecurePatchQuery as createSecurePatchQuery, index_d_createSecurePostQuery as createSecurePostQuery, index_d_createSecurePutQuery as createSecurePutQuery, index_d_createSecureQuery as createSecureQuery, index_d_createSecureQueryCreator as createSecureQueryCreator, index_d_createWebSocketClient as createWebSocketClient, index_d_createWebSocketClientConfig as createWebSocketClientConfig, index_d_defaultResponseTransformerResponseNotContainingAccessToken as defaultResponseTransformerResponseNotContainingAccessToken, index_d_defaultResponseTransformerResponseNotContainingRefreshToken as defaultResponseTransformerResponseNotContainingRefreshToken, index_d_defaultResponseTransformerResponseNotObject as defaultResponseTransformerResponseNotObject, index_d_disableCookieCalledWithoutCookieConfig as disableCookieCalledWithoutCookieConfig, index_d_dynLikePaginationAdapter as dynLikePaginationAdapter, index_d_enableCookieCalledWithoutCookieConfig as enableCookieCalledWithoutCookieConfig, index_d_ethletePaginationAdapter as ethletePaginationAdapter, index_d_extractExpiresInSeconds as extractExpiresInSeconds, index_d_fakePaginationAdapter as fakePaginationAdapter, index_d_getQueryFeatureUsage as getQueryFeatureUsage, index_d_ggLikePaginationAdapter as ggLikePaginationAdapter, index_d_isCreateGqlQueryOptions as isCreateGqlQueryOptions, index_d_isLegacyQuery as isLegacyQuery, index_d_loginCalledWithoutConfig as loginCalledWithoutConfig, index_d_loginWithTokenCalledWithoutConfig as loginWithTokenCalledWithoutConfig, index_d_maybeExecute as maybeExecute, index_d_nestedEffect as nestedEffect, index_d_normalizeQueryRepositoryKey as normalizeQueryRepositoryKey, index_d_pagedQueryStackNextPageCalledWithoutPreviousPage as pagedQueryStackNextPageCalledWithoutPreviousPage, index_d_pagedQueryStackPageBiggerThanTotalPages as pagedQueryStackPageBiggerThanTotalPages, index_d_pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage as pagedQueryStackPreviousPageCalledButAlreadyAtFirstPage, index_d_parseHttpErrorCodeToMessageDe as parseHttpErrorCodeToMessageDe, index_d_parseHttpErrorCodeToMessageEn as parseHttpErrorCodeToMessageEn, index_d_parseHttpErrorCodeToTitleDe as parseHttpErrorCodeToTitleDe, index_d_parseHttpErrorCodeToTitleEn as parseHttpErrorCodeToTitleEn, index_d_provideBearerAuthProvider as provideBearerAuthProvider, index_d_provideQueryClient as provideQueryClient, index_d_provideWebSocketClient as provideWebSocketClient, index_d_queryExecute as queryExecute, index_d_queryFeatureUsedMultipleTimes as queryFeatureUsedMultipleTimes, index_d_queryStackTotalQueriesAndExpectedQueriesMismatch as queryStackTotalQueriesAndExpectedQueriesMismatch, index_d_queryStackWithArgsUsed as queryStackWithArgsUsed, index_d_queryStackWithResponseUpdateUsed as queryStackWithResponseUpdateUsed, index_d_refreshTokenCalledWithoutConfig as refreshTokenCalledWithoutConfig, index_d_resetExecuteState as resetExecuteState, index_d_selectRoleCalledWithoutConfig as selectRoleCalledWithoutConfig, index_d_setupQueryDependencies as setupQueryDependencies, index_d_setupQueryExecuteState as setupQueryExecuteState, index_d_setupQueryState as setupQueryState, index_d_shouldAutoExecuteGqlQuery as shouldAutoExecuteGqlQuery, index_d_shouldAutoExecuteQuery as shouldAutoExecuteQuery, shouldCacheQuery$1 as shouldCacheQuery, index_d_shouldRetryRequest as shouldRetryRequest, index_d_silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent as silenceMissingWithArgsFeatureErrorUsedButWithArgsPresent, index_d_splitQueryConfig as splitQueryConfig, index_d_transformArrayResponse as transformArrayResponse, index_d_transformPaginatedResponse as transformPaginatedResponse, index_d_unableToDecryptBearerToken as unableToDecryptBearerToken, index_d_uncacheableRequestHasAllowCacheParam as uncacheableRequestHasAllowCacheParam, index_d_uncacheableRequestHasCacheKeyParam as uncacheableRequestHasCacheKeyParam, index_d_withArgs as withArgs, index_d_withArgsQueryFeatureMissingButRouteIsFunction as withArgsQueryFeatureMissingButRouteIsFunction, index_d_withAutoRefresh as withAutoRefresh, index_d_withAutoRefreshUsedInManualQuery as withAutoRefreshUsedInManualQuery, index_d_withAutoRefreshUsedOnUnsupportedHttpMethod as withAutoRefreshUsedOnUnsupportedHttpMethod, index_d_withErrorHandling as withErrorHandling, index_d_withLogging as withLogging, index_d_withPolling as withPolling, index_d_withPollingUsedOnUnsupportedHttpMethod as withPollingUsedOnUnsupportedHttpMethod, index_d_withResponseUpdate as withResponseUpdate, index_d_withSuccessHandling as withSuccessHandling };
1982
+ export type { index_d_AnyBearerAuthProviderConfig as AnyBearerAuthProviderConfig, index_d_AnyLegacyQuery as AnyLegacyQuery, index_d_AnyLegacyQueryCreator as AnyLegacyQueryCreator, index_d_AnyPagedQueryStack as AnyPagedQueryStack, AnyQuery$1 as AnyQuery, AnyQueryCreator$1 as AnyQueryCreator, index_d_AnyQuerySnapshot as AnyQuerySnapshot, index_d_AnyQueryStack as AnyQueryStack, BearerAuthProvider$1 as BearerAuthProvider, index_d_BearerAuthProviderConfig as BearerAuthProviderConfig, index_d_BearerAuthProviderCookieConfig as BearerAuthProviderCookieConfig, index_d_BearerAuthProviderRef as BearerAuthProviderRef, index_d_BearerAuthProviderRouteConfig as BearerAuthProviderRouteConfig, index_d_BearerAuthProviderTokens as BearerAuthProviderTokens, index_d_BodyType as BodyType, index_d_CacheAdapterFn as CacheAdapterFn, index_d_CleanupPreviousExecuteOptions as CleanupPreviousExecuteOptions, index_d_ClearQueryArgs as ClearQueryArgs, index_d_CreateBearerAuthProviderConfigOptions as CreateBearerAuthProviderConfigOptions, index_d_CreateGqlQueryCreatorOptions as CreateGqlQueryCreatorOptions, index_d_CreateGqlQueryExecuteOptions as CreateGqlQueryExecuteOptions, index_d_CreateGqlQueryOptions as CreateGqlQueryOptions, index_d_CreateHttpRequestClientOptions as CreateHttpRequestClientOptions, index_d_CreateHttpRequestDependencies as CreateHttpRequestDependencies, index_d_CreateHttpRequestOptions as CreateHttpRequestOptions, index_d_CreateLegacyQueryCreatorOptions as CreateLegacyQueryCreatorOptions, index_d_CreateLegacyQueryOptions as CreateLegacyQueryOptions, index_d_CreatePagedQueryStackOptions as CreatePagedQueryStackOptions, index_d_CreateQueryClientConfigOptions as CreateQueryClientConfigOptions, index_d_CreateQueryCreatorOptions as CreateQueryCreatorOptions, index_d_CreateQueryExecuteOptions as CreateQueryExecuteOptions, index_d_CreateQueryObjectOptions as CreateQueryObjectOptions, index_d_CreateQueryOptions as CreateQueryOptions, index_d_CreateQueryRepositoryConfig as CreateQueryRepositoryConfig, index_d_CreateQuerySnapshotOptions as CreateQuerySnapshotOptions, index_d_CreateQueryStackOptions as CreateQueryStackOptions, index_d_CreateSecureQueryExecuteOptions as CreateSecureQueryExecuteOptions, index_d_CreateSecureQueryOptions as CreateSecureQueryOptions, index_d_CreateWebSocketClientConfig as CreateWebSocketClientConfig, index_d_CreateWebSocketClientTransport as CreateWebSocketClientTransport, index_d_GqlQueryArgs as GqlQueryArgs, index_d_GqlQueryMethod as GqlQueryMethod, index_d_GqlQueryTransport as GqlQueryTransport, index_d_GqlVariablesType as GqlVariablesType, index_d_HttpErrorEvent as HttpErrorEvent, index_d_HttpRequest as HttpRequest, index_d_HttpRequestLoadingProgressState as HttpRequestLoadingProgressState, index_d_HttpRequestLoadingState as HttpRequestLoadingState, index_d_HttpRequestResponseType as HttpRequestResponseType, index_d_HttpRequestTransferCacheConfig as HttpRequestTransferCacheConfig, index_d_InternalCreateGqlQueryCreatorOptions as InternalCreateGqlQueryCreatorOptions, index_d_InternalCreateQueryCreatorOptions as InternalCreateQueryCreatorOptions, index_d_InternalQueryExecute as InternalQueryExecute, index_d_InternalRunQueryExecuteOptions as InternalRunQueryExecuteOptions, index_d_InternalSecureCreateQueryCreatorOptions as InternalSecureCreateQueryCreatorOptions, index_d_InternalWebSocketRoom as InternalWebSocketRoom, index_d_LegacyArgumentsOfQueryArgs as LegacyArgumentsOfQueryArgs, index_d_LegacyQueryPrepareFn as LegacyQueryPrepareFn, index_d_PagedQueryStack as PagedQueryStack, index_d_PagedQueryStackDirection as PagedQueryStackDirection, index_d_PagedQueryStackExecuteOptions as PagedQueryStackExecuteOptions, index_d_PagedQueryStackResetOptions as PagedQueryStackResetOptions, index_d_PathParamsType as PathParamsType, Query$1 as Query, index_d_QueryArgs as QueryArgs, QueryArgsOf$1 as QueryArgsOf, index_d_QueryArgsOfLegacyArguments as QueryArgsOfLegacyArguments, index_d_QueryBase as QueryBase, QueryClient$1 as QueryClient, QueryClientConfig$1 as QueryClientConfig, index_d_QueryClientRef as QueryClientRef, QueryConfig$1 as QueryConfig, QueryCreator$1 as QueryCreator, index_d_QueryDependencies as QueryDependencies, index_d_QueryErrorResponse as QueryErrorResponse, index_d_QueryErrorResponseItem as QueryErrorResponseItem, index_d_QueryErrorResponseList as QueryErrorResponseList, index_d_QueryErrorResponseSingle as QueryErrorResponseSingle, index_d_QueryExecute as QueryExecute, index_d_QueryExecuteArgs as QueryExecuteArgs, index_d_QueryExecuteOptions as QueryExecuteOptions, index_d_QueryExecuteState as QueryExecuteState, index_d_QueryExecutionState as QueryExecutionState, index_d_QueryExecutionStateFailure as QueryExecutionStateFailure, index_d_QueryExecutionStateLoading as QueryExecutionStateLoading, index_d_QueryExecutionStateLoadingWithCachedResponse as QueryExecutionStateLoadingWithCachedResponse, index_d_QueryExecutionStateLoadingWithNoResponse as QueryExecutionStateLoadingWithNoResponse, index_d_QueryExecutionStateSuccess as QueryExecutionStateSuccess, index_d_QueryFeature as QueryFeature, index_d_QueryFeatureContext as QueryFeatureContext, index_d_QueryFeatureFlags as QueryFeatureFlags, index_d_QueryFeatureFn as QueryFeatureFn, index_d_QueryKey as QueryKey, index_d_QueryKeyNoCache as QueryKeyNoCache, index_d_QueryKeyOrNone as QueryKeyOrNone, index_d_QueryMethod as QueryMethod, index_d_QueryParamsType as QueryParamsType, index_d_QueryRepository as QueryRepository, index_d_QueryRepositoryDependencies as QueryRepositoryDependencies, index_d_QueryRepositoryItem as QueryRepositoryItem, index_d_QueryRepositoryRequestOptions as QueryRepositoryRequestOptions, index_d_QuerySnapshot as QuerySnapshot, index_d_QueryStack as QueryStack, index_d_QueryStackSubtle as QueryStackSubtle, QueryState$1 as QueryState, index_d_QueryStateSubtle as QueryStateSubtle, index_d_QuerySubtle as QuerySubtle, index_d_ReadonlyQuery as ReadonlyQuery, index_d_RequestArgs as RequestArgs, index_d_ResetExecuteStateOptions as ResetExecuteStateOptions, index_d_ResponseType as ResponseType, RouteString$1 as RouteString, RouteType$1 as RouteType, index_d_RunQueryCreator as RunQueryCreator, index_d_RunQueryExecuteOptions as RunQueryExecuteOptions, index_d_SetupQueryDependenciesOptions as SetupQueryDependenciesOptions, index_d_SetupQueryStateOptions as SetupQueryStateOptions, index_d_ShouldRetryRequestFn as ShouldRetryRequestFn, index_d_ShouldRetryRequestOptions as ShouldRetryRequestOptions, index_d_ShouldRetryRequestResult as ShouldRetryRequestResult, index_d_SocketMessageView as SocketMessageView, index_d_WebSocketClient as WebSocketClient, index_d_WebSocketClientConfig as WebSocketClientConfig, index_d_WebSocketClientRef as WebSocketClientRef, index_d_WebSocketClientSubtle as WebSocketClientSubtle, index_d_WebSocketRoom as WebSocketRoom, index_d_WithAutoRefreshFeatureOptions as WithAutoRefreshFeatureOptions, index_d_WithErrorHandlingFeatureOptions as WithErrorHandlingFeatureOptions, index_d_WithLegacyConfig as WithLegacyConfig, index_d_WithLoggingFeatureOptions as WithLoggingFeatureOptions, index_d_WithPollingFeatureOptions as WithPollingFeatureOptions, index_d_WithResponseUpdateFeatureFnData as WithResponseUpdateFeatureFnData, index_d_WithResponseUpdateFeatureOptions as WithResponseUpdateFeatureOptions };
1983
+ }
1984
+
1985
+ interface QueryFieldOptions<T = unknown> {
1986
+ /**
1987
+ * The default value of the field.
1988
+ * Will be set to the initial value of the form control if not specified.
1989
+ * If a function is provided, it will be called to get the default value.
1990
+ */
1991
+ defaultValue?: T | (() => T) | null;
1992
+ /**
1993
+ * Debounce time in milliseconds.
1994
+ */
1995
+ debounce?: number;
1996
+ /**
1997
+ * Whether the debounce should not be applied if the value is falsy.
1998
+ * This is useful for fields that can be cleared like a search field.
1999
+ *
2000
+ * @default false
2001
+ */
2002
+ disableDebounceIfFalsy?: boolean;
2003
+ /**
2004
+ * The form control for the field.
2005
+ */
2006
+ control: FormControl<T | null>;
2007
+ /**
2008
+ * Append the field's value to the url.
2009
+ *
2010
+ * The field wont be appended to the url if one of the following is true:
2011
+ * - It is the default value and `appendDefaultValueToUrl` is `false`
2012
+ * - It is an empty string
2013
+ * - It is `null`
2014
+ * - It is `undefined`
2015
+ *
2016
+ * @default true
2017
+ */
2018
+ appendToUrl?: boolean;
2019
+ /**
2020
+ * Append the field's value to the url even if it is the default value.
2021
+ * Will be ignored if `appendToUrl` is `false`.
2022
+ *
2023
+ * @default false
2024
+ */
2025
+ appendDefaultValueToUrl?: boolean;
2026
+ /**
2027
+ * Reset the field's value to the default value if one or more of the specified fields are changed.
2028
+ *
2029
+ * @example
2030
+ * // Given this field is a `page` field, the field will be reset if the `limit`, `query` or `search` fields are changed.
2031
+ * ['limit', 'query', 'search']
2032
+ */
2033
+ isResetBy?: string | string[];
2034
+ /**
2035
+ * Whether the field should change the count of current active filters.
2036
+ *
2037
+ * Will be `true` for these common fields:
2038
+ * - `page`
2039
+ * - `skip`
2040
+ * - `take`
2041
+ * - `limit`
2042
+ * - `sort`
2043
+ * - `sortBy`
2044
+ * - `sortOrder`
2045
+ * - `query`
2046
+ * - `search`
2047
+ * @default false
2048
+ */
2049
+ skipInFilterCount?: boolean;
2050
+ /**
2051
+ * By default, the field's string value is transformed to it's matching primitive type.
2052
+ * Meaning that a string `'true'` will be transformed to a boolean `true` and a string `'5'` will be transformed to a number `5`.
2053
+ * If this is set to `true`, the field's value will not be transformed.
2054
+ *
2055
+ * @default false
2056
+ */
2057
+ skipAutoTransform?: boolean;
2058
+ /**
2059
+ * A function that transforms the the value gotten from the url query params to a value required by the field.
2060
+ * E.g. for a number field, the value from the url query params is a string, but the field requires a number.
2061
+ *
2062
+ * The following common transformations are already implemented:
2063
+ * - `transformToString`
2064
+ * - `transformToStringArray`
2065
+ * - `transformToNumber`
2066
+ * - `transformToNumberArray`
2067
+ * - `transformToBoolean`
2068
+ * - `transformToBooleanArray`
2069
+ * - `transformToDate` (expects a string in the default js format)
2070
+ * - `transformToDateArray` (expects strings in the default js format)
2071
+ * - `transformToSort` (expects a string in the format `field:direction`)
2072
+ */
2073
+ queryParamToValueTransformFn?: (val: unknown) => T | null;
2074
+ /**
2075
+ * A function that transforms the value of the field to a value that can be appended to the url query params.
2076
+ *
2077
+ * The following common transformations are already implemented:
2078
+ * - `transformToSortQueryParam` (returns an object containing `field` and `direction` properties)
2079
+ */
2080
+ valueToQueryParamTransformFn?: (val: T | null) => unknown;
2081
+ }
2082
+ type OptionalQueryFieldOptions<T = string> = Partial<QueryFieldOptions<T>>;
2083
+ type QueryFormGroupControls<T extends Record<string, QueryField<any>>> = {
2084
+ [Property in keyof T]: T[Property]['control'];
2085
+ };
2086
+ type QueryFormValue<T extends Record<string, QueryField<any>>> = {
2087
+ [Property in keyof T]: T[Property]['control']['value'];
2088
+ };
2089
+ type QueryFormOf<T extends FormGroup> = {
2090
+ [K in keyof T['controls']]: QueryField<T['controls'][K]['value']>;
2091
+ };
2092
+ interface QueryFormGroup extends FormGroup {
2093
+ _setValue: FormGroup['setValue'];
2094
+ _patchValue: FormGroup['patchValue'];
2095
+ setValue(value: unknown, options?: QueryFormWriteOptions): void;
2096
+ patchValue(value: unknown, options?: QueryFormWriteOptions): void;
2097
+ }
2098
+ interface QueryFormObserveOptions {
2099
+ /**
2100
+ * Whether the form value should be synced to the url query params.
2101
+ * @default true
2102
+ */
2103
+ writeToQueryParams?: boolean;
2104
+ /**
2105
+ * Whether the form value should be updated when the url query params change.
2106
+ * @default true
2107
+ */
2108
+ syncOnNavigation?: boolean;
2109
+ /**
2110
+ * If true, the navigation will not create a new entry in the browser's history.
2111
+ * @default false
2112
+ */
2113
+ replaceUrl?: boolean;
2114
+ }
2115
+ interface QueryFormValueEvent<T extends Record<string, QueryField<any>>> {
2116
+ previousValue: QueryFormValue<T> | null;
2117
+ currentValue: QueryFormValue<T>;
2118
+ }
2119
+ interface QueryFormWriteOptions {
2120
+ /**
2121
+ * When true, each change only affects this control, and not its parent.
2122
+ * @default false
2123
+ */
2124
+ onlySelf?: boolean;
2125
+ /**
2126
+ * When true or not supplied (the default), both the `statusChanges` and `valueChanges`
2127
+ * observables emit events with the latest status and value when the control value is updated.
2128
+ * When false, no events are emitted.
2129
+ * @default true
2130
+ */
2131
+ emitEvent?: boolean;
2132
+ /**
2133
+ * When true, the `resetBy` conditions will be ignored for this write.
2134
+ * @default false
2135
+ */
2136
+ skipResets?: boolean;
2137
+ }
2138
+
2139
+ declare const transformToString: (value: unknown) => string | null;
2140
+ declare const transformToStringArray: (value: unknown) => string[] | null;
2141
+ declare const transformToNumber: (value: unknown) => number | null;
2142
+ declare const transformToNumberArray: (value: unknown) => number[] | null;
2143
+ declare const transformToBoolean: (value: unknown) => boolean | null;
2144
+ declare const transformToBooleanArray: (value: unknown) => boolean[] | null;
2145
+ declare const transformToDate: (value: unknown) => Date | null;
2146
+ declare const transformToDateArray: (value: unknown) => Date[] | null;
2147
+ type SortDirection = 'asc' | 'desc' | '';
2148
+ interface Sort {
2149
+ active: string;
2150
+ direction: SortDirection;
2151
+ }
2152
+ declare const transformToSort: (value: unknown) => Sort | null;
2153
+ declare const transformToSortQueryParam: (value: unknown) => string | null;
2154
+
2155
+ declare class QueryField<T> {
2156
+ data: QueryFieldOptions<T>;
2157
+ get control(): FormControl<T | null>;
2158
+ constructor(data: QueryFieldOptions<T>);
2159
+ }
2160
+ declare class SearchQueryField {
2161
+ _data?: OptionalQueryFieldOptions<string | null> | undefined;
2162
+ get control(): FormControl<string | null>;
2163
+ data: QueryFieldOptions<string | null>;
2164
+ constructor(_data?: OptionalQueryFieldOptions<string | null> | undefined);
2165
+ }
2166
+ declare class SortQueryField {
2167
+ _data?: OptionalQueryFieldOptions<Sort | null> | undefined;
2168
+ get control(): FormControl<Sort | null>;
2169
+ data: QueryFieldOptions<Sort | null>;
2170
+ constructor(_data?: OptionalQueryFieldOptions<Sort | null> | undefined);
2171
+ }
2172
+ declare class StringArrayQueryField<T extends string[]> {
2173
+ _data?: OptionalQueryFieldOptions<T | null> | undefined;
2174
+ get control(): FormControl<T | null>;
2175
+ data: QueryFieldOptions<T | null>;
2176
+ constructor(_data?: OptionalQueryFieldOptions<T | null> | undefined);
2177
+ }
2178
+ declare class BooleanArrayQueryField {
2179
+ _data?: OptionalQueryFieldOptions<boolean[] | null> | undefined;
2180
+ get control(): FormControl<boolean[] | null>;
2181
+ data: QueryFieldOptions<boolean[] | null>;
2182
+ constructor(_data?: OptionalQueryFieldOptions<boolean[] | null> | undefined);
2183
+ }
2184
+ declare class NumberArrayQueryField {
2185
+ _data?: OptionalQueryFieldOptions<number[] | null> | undefined;
2186
+ get control(): FormControl<number[] | null>;
2187
+ data: QueryFieldOptions<number[] | null>;
2188
+ constructor(_data?: OptionalQueryFieldOptions<number[] | null> | undefined);
2189
+ }
2190
+ declare class DateQueryField {
2191
+ _data?: OptionalQueryFieldOptions<Date | null> | undefined;
2192
+ get control(): FormControl<Date | null>;
2193
+ data: QueryFieldOptions<Date | null>;
2194
+ constructor(_data?: OptionalQueryFieldOptions<Date | null> | undefined);
2195
+ }
2196
+ declare class DateArrayQueryField {
2197
+ _data?: OptionalQueryFieldOptions<Date[] | null> | undefined;
2198
+ get control(): FormControl<Date[] | null>;
2199
+ data: QueryFieldOptions<Date[] | null>;
2200
+ constructor(_data?: OptionalQueryFieldOptions<Date[] | null> | undefined);
2201
+ }
2202
+ interface QueryFormOptions {
2203
+ /**
2204
+ * A prefix to use for the query parameters. This is useful when you have multiple query forms on the same page.
2205
+ */
2206
+ queryParamPrefix?: string | (() => string);
2207
+ }
2208
+ type AnyQueryForm = QueryForm<any>;
2209
+ declare class QueryForm<T extends Record<string, QueryField<any>>> {
2210
+ private _fields;
2211
+ private _options?;
2212
+ private readonly _destroy$;
2213
+ private readonly _unobserveTrigger$;
2214
+ private readonly _router;
2215
+ private readonly _activatedRoute;
2216
+ private readonly _defaultValues;
2217
+ private readonly _zone;
2218
+ private readonly _didValueChanges$;
2219
+ private _isObserving;
2220
+ private _skipNextResets;
2221
+ private _queryParamChanges$;
2222
+ private _queryParams;
2223
+ /**
2224
+ * The angular form group that contains all the fields.
2225
+ *
2226
+ * **Do not** use any of the following methods on this form group:
2227
+ * - `setValue`: Use `QueryForm.setValue` instead.
2228
+ * - `patchValue`: Use `QueryForm.patchValue` instead.
2229
+ * - `valueChanges`: Use `QueryForm.changes$` instead.
2230
+ * - `value`: Use `QueryForm.value` instead.
2231
+ * - `controls`: Use `QueryForm.controls` instead.
2232
+ */
2233
+ readonly form: FormGroup<QueryFormGroupControls<T>>;
2234
+ private readonly _lastFormValue$;
2235
+ private readonly _currentFormValue$;
2236
+ private get _formValue();
2237
+ private get _form();
2238
+ private readonly _changes$;
2239
+ readonly changes$: rxjs.Observable<QueryFormValueEvent<T>>;
2240
+ readonly currentValue$: rxjs.Observable<QueryFormValue<T>>;
2241
+ readonly previousValue$: rxjs.Observable<QueryFormValue<T> | null>;
2242
+ readonly changes: _angular_core.Signal<QueryFormValueEvent<T> | undefined>;
2243
+ readonly currentValue: _angular_core.Signal<QueryFormValue<T> | undefined>;
2244
+ readonly previousValue: _angular_core.Signal<QueryFormValue<T> | null | undefined>;
2245
+ /**
2246
+ * The number of active filters.
2247
+ *
2248
+ * Excludes the following fields by default:
2249
+ * - `page`
2250
+ * - `skip`
2251
+ * - `take`
2252
+ * - `limit`
2253
+ * - `sort`
2254
+ * - `sortBy`
2255
+ * - `sortOrder`
2256
+ * - `query`
2257
+ * - `search`
2258
+ */
2259
+ readonly activeFilterCount$: rxjs.Observable<number>;
2260
+ get controls(): 0 extends 1 & QueryFormGroupControls<T> ? {
2261
+ [key: string]: _angular_forms.AbstractControl<any, any>;
2262
+ } : QueryFormGroupControls<T>;
2263
+ get value(): QueryFormValue<T>;
2264
+ get defaultFormValue(): QueryFormValue<T>;
2265
+ constructor(_fields: T, _options?: QueryFormOptions | undefined);
2266
+ observe(options?: QueryFormObserveOptions): this;
2267
+ private _handleQueryFormResets;
2268
+ unobserve(): void;
2269
+ setFormValueFromUrlQueryParams(options: {
2270
+ queryParams: Record<string, unknown>;
2271
+ }): boolean;
2272
+ setValue(value: QueryFormValue<T>, options?: QueryFormWriteOptions): void;
2273
+ patchValue(value: Partial<QueryFormValue<T>>, options?: QueryFormWriteOptions): void;
2274
+ resetFieldToDefault(key: keyof QueryFormValue<T>, options?: QueryFormWriteOptions): void;
2275
+ resetFieldsToDefault(keys: (keyof QueryFormValue<T>)[], options?: QueryFormWriteOptions): void;
2276
+ resetAllFieldsToDefault(options?: QueryFormWriteOptions & {
2277
+ skipFields?: (keyof QueryFormValue<T>)[];
2278
+ }): void;
2279
+ private _getDefaultValue;
2280
+ private _transformKeyToQueryParam;
2281
+ private _isDefaultValue;
2282
+ private _setupFormGroup;
2283
+ private _extractDefaultValues;
2284
+ private _syncViaUrlQueryParams;
2285
+ private _handleFormChange;
2286
+ private _cleanup;
2287
+ }
2288
+
2289
+ interface QueryAutoRefreshConfig {
2290
+ /**
2291
+ * Refresh the query when the query client's headers change.
2292
+ * @default true
2293
+ */
2294
+ queryClientDefaultHeadersChange?: boolean;
2295
+ /**
2296
+ * Refresh the query when the window regains focus.
2297
+ *
2298
+ * This can only be disabled if `autoRefreshQueriesOnWindowFocus` is enabled on the query client.
2299
+ * @default true
2300
+ */
2301
+ windowFocus?: boolean;
2302
+ }
2303
+ interface EntitySetParams<Store, Response, Arguments, Id> {
2304
+ /**
2305
+ * The response data.
2306
+ */
2307
+ response: Response;
2308
+ /**
2309
+ * The id(s) returned by the `id` function.
2310
+ */
2311
+ id: Id;
2312
+ /**
2313
+ * The arguments passed to the query.
2314
+ */
2315
+ args: Arguments;
2316
+ /**
2317
+ * The entity store.
2318
+ */
2319
+ store: Store;
2320
+ }
2321
+ interface EntityGetParams<Store, Response, Arguments, Id> {
2322
+ /**
2323
+ * The response data.
2324
+ */
2325
+ response: Response;
2326
+ /**
2327
+ * The id(s) returned by the `id` function.
2328
+ */
2329
+ id: Id;
2330
+ /**
2331
+ * The arguments passed to the query.
2332
+ */
2333
+ args: Arguments;
2334
+ /**
2335
+ * The entity store.
2336
+ */
2337
+ store: Store;
2338
+ }
2339
+ interface EntityIdParams<Response, Arguments> {
2340
+ /**
2341
+ * The response data.
2342
+ */
2343
+ response: Response;
2344
+ /**
2345
+ * The arguments passed to the query.
2346
+ */
2347
+ args: Arguments;
2348
+ }
2349
+ interface QueryEntityConfig<Store, Data, Response, Arguments, Id> {
2350
+ /**
2351
+ * The entity store to use for the query.
2352
+ */
2353
+ store: Store;
2354
+ /**
2355
+ * A function that returns the id of the entity. Can also return an array of ids.
2356
+ */
2357
+ id: (data: EntityIdParams<Response, Arguments>) => Id;
2358
+ /**
2359
+ * A function that returns the response data (can be a subset of the response).
2360
+ */
2361
+ get?: (data: EntityGetParams<Store, Response, Arguments, Id>) => Observable<Data>;
2362
+ /**
2363
+ * A function to update the entity store every time a new response is received.
2364
+ */
2365
+ set?: (data: EntitySetParams<Store, Response, Arguments, Id>) => void;
2366
+ }
2367
+ type QueryConfigBase<Response, Arguments extends BaseArguments | undefined, Store extends EntityStore<unknown>, Data, Id> = {
2368
+ /**
2369
+ * The http method to use for the query.
2370
+ */
2371
+ method: Method;
2372
+ /**
2373
+ * Determines if the auth provider should be used for this query.
2374
+ * The query **will throw** if the query client's auth provider is unset.
2375
+ */
2376
+ secure?: boolean;
2377
+ /**
2378
+ * Determines if the query should emit progress events.
2379
+ */
2380
+ reportProgress?: boolean;
2381
+ /**
2382
+ * Determines the query's response type.
2383
+ * @default 'json'
2384
+ */
2385
+ responseType?: 'arraybuffer' | 'blob' | 'json' | 'text';
2386
+ /**
2387
+ * Whether this request should be sent with outgoing credentials (cookies).
2388
+ * @default false
2389
+ */
2390
+ withCredentials?: boolean;
2391
+ /**
2392
+ * Configuration for handling auto refresh triggers.
2393
+ *
2394
+ * **Note:** This is only available for queries that can be refreshed. (`GET`, `HEAD`, `OPTIONS`, `GQL_QUERY`)
2395
+ */
2396
+ autoRefreshOn?: QueryAutoRefreshConfig;
2397
+ /**
2398
+ * Whether to automatically stop polling for this query when the window loses focus.
2399
+ * Polling will resume when the window regains focus.
2400
+ *
2401
+ * This can only be disabled if `enableSmartPolling` is enabled on the query client.
2402
+ * @default true
2403
+ */
2404
+ enableSmartPolling?: boolean;
2405
+ /**
2406
+ * Object containing the query's type information.
2407
+ */
2408
+ types?: {
2409
+ /**
2410
+ * The type of the successful response.
2411
+ */
2412
+ response?: Response;
2413
+ /**
2414
+ * Arguments for executing the query.
2415
+ *
2416
+ * - `pathParams`: The path parameters for the query. (in front of the ? in the url)
2417
+ * - `queryParams`: The query parameters for the query. (after the ? in the url)
2418
+ * - `body`: The body for the query. Unavailable for GET, HEAD and OPTIONS requests.
2419
+ * - `headers`: The headers for the query.
2420
+ * - `variables`: The variables for the query. (graphql only)
2421
+ */
2422
+ args?: Arguments;
2423
+ };
2424
+ /**
2425
+ * Object containing the query's entity store information.
2426
+ */
2427
+ entity?: QueryEntityConfig<Store, Data, Response, Arguments, Id>;
2428
+ };
2429
+ type RestQueryConfig<Route extends RouteType<Arguments>, Response, Arguments extends BaseArguments | undefined, Store extends EntityStore<unknown>, Data, Id> = QueryConfigBase<Response, Arguments, Store, Data, Id> & {
2430
+ /**
2431
+ * The api route to use for the query.
2432
+ */
2433
+ route: Route;
2434
+ };
2435
+ type GqlTransferOption = 'GET' | 'POST';
2436
+ interface GqlQueryConfig<Route extends RouteType<Arguments> | undefined, Response, Arguments extends BaseArguments | undefined, Store extends EntityStore<unknown>, Data, Id> extends QueryConfigBase<Response, Arguments, Store, Data, Id> {
2437
+ /**
2438
+ * The graphql query to use for the query.
2439
+ */
2440
+ query: string;
2441
+ /**
2442
+ * Determines if the query should be sent via GET or POST.
2443
+ * - `GET`: The query will be sent via query parameters.
2444
+ * - `POST`: The query will be sent via the body.
2445
+ * @default 'POST'
2446
+ */
2447
+ transferVia?: GqlTransferOption;
2448
+ /**
2449
+ * Subroute to use for the query.
2450
+ */
2451
+ route?: Route;
2452
+ }
2453
+ type AnyRestQueryConfig = RestQueryConfig<any, any, any, any, any, any>;
2454
+ type AnyGqlQueryConfig = GqlQueryConfig<any, any, any, any, any, any>;
2455
+ type QueryConfigWithoutMethod<Route extends RouteType<Arguments>, Response, Arguments extends BaseArguments | undefined, Store extends EntityStore<unknown>, Data, Id> = Omit<RestQueryConfig<Route, Response, Arguments, Store, Data, Id>, 'method'>;
2456
+ type GqlQueryConfigWithoutMethod<Route extends RouteType<Arguments>, Response, Arguments extends BaseArguments | undefined, Store extends EntityStore<unknown>, Data, Id> = Omit<GqlQueryConfig<Route, Response, Arguments, Store, Data, Id>, 'method'>;
2457
+ type BaseArguments = WithHeaders & WithVariables & WithBody & WithQueryParams & WithPathParams & WithMock<unknown>;
2458
+ interface WithHeaders {
2459
+ /**
2460
+ * The headers to send with the query.
2461
+ */
2462
+ headers?: Record<string, string>;
2463
+ }
2464
+ interface QueryMockConfig<MockResponse> {
2465
+ /**
2466
+ * The mock response to use for the query.
2467
+ */
2468
+ response?: MockResponse;
2469
+ /**
2470
+ * The mock error to use for the query.
2471
+ */
2472
+ error?: RequestError;
2473
+ /**
2474
+ * The delay in milliseconds to wait before resolving the mock.
2475
+ * If progress is enabled, the delay will be used for each progress event.
2476
+ * @default 200
2477
+ */
2478
+ delay?: number;
2479
+ /**
2480
+ * Whether to report progress for the mock.
2481
+ * For testing e.g. file uploads.
2482
+ */
2483
+ progress?: {
2484
+ /**
2485
+ * The number of progress events to report.
2486
+ * @default 5
2487
+ */
2488
+ eventCount?: number;
2489
+ /**
2490
+ * The type of progress event to report.
2491
+ * @default 'upload'
2492
+ */
2493
+ eventType?: 'download' | 'upload';
2494
+ /**
2495
+ * The total size of the file to report progress for in bytes.
2496
+ * @default 1_000_000 (1MB)
2497
+ */
2498
+ fileSize?: number;
2499
+ /**
2500
+ * If true, the total size of the file will be omitted from the progress event.
2501
+ * Useful for testing e.g. download progress when the server does not provide a total size.
2502
+ */
2503
+ omitTotal?: boolean;
2504
+ /**
2505
+ * If true, the partial text will be omitted from the progress event.
2506
+ * Useful for testing e.g. download progress when the server does not provide a partial text.
2507
+ */
2508
+ omitPartialText?: boolean;
2509
+ };
2510
+ /**
2511
+ * This will mock the request failing and getting retried 3 times. After, the request will succeed with the provided response.
2512
+ * Can not be used with `progress` enabled.
2513
+ * @default false
2514
+ */
2515
+ retryIntoResponse?: boolean;
2516
+ }
2517
+ interface WithMock<MockResponse> {
2518
+ mock?: QueryMockConfig<MockResponse>;
2519
+ }
2520
+ interface QueryConfig {
2521
+ /**
2522
+ * Whether this query should be added to the internal query store.
2523
+ *
2524
+ * Generally this should be left on `false` unless you know what you are doing.
2525
+ * @default false
2526
+ */
2527
+ skipQueryStore?: boolean;
2528
+ /**
2529
+ * The cache key to use for this query.
2530
+ * Useful for queries that are equal but should be stored separately.
2531
+ * Will be generated automatically if not provided.
2532
+ *
2533
+ * Generally this should be left on `undefined` unless you know what you are doing.
2534
+ */
2535
+ queryStoreCacheKey?: string;
2536
+ }
2537
+ interface WithConfig {
2538
+ /**
2539
+ * Additional configuration for this query.
2540
+ */
2541
+ config?: QueryConfig;
2542
+ }
2543
+ interface WithInjector {
2544
+ injector?: Injector;
2545
+ }
2546
+ interface WithVariables {
2547
+ /**
2548
+ * The variables for the query. (graphql only)
2549
+ */
2550
+ variables?: Record<string, unknown>;
2551
+ }
2552
+ interface WithBody {
2553
+ /**
2554
+ * The body for the query. Unavailable for GET, HEAD and OPTIONS requests.
2555
+ */
2556
+ body?: unknown;
2557
+ }
2558
+ interface WithQueryParams {
2559
+ /**
2560
+ * The query parameters for the query. (after the ? in the url)
2561
+ */
2562
+ queryParams?: QueryParams;
2563
+ }
2564
+ interface WithPathParams {
2565
+ /**
2566
+ * The path parameters for the query. (in front of the ? in the url)
2567
+ */
2568
+ pathParams?: PathParams;
2569
+ }
2570
+ type QueryTrigger = 'program' | 'poll' | 'auto';
2571
+ type EmptyObject = {};
2572
+ interface ExecuteQueryOptions {
2573
+ /**
2574
+ * Whether to skip the cache for this query. This will force the query to be executed. It might still be caught by the native browser cache.
2575
+ * @default false
2576
+ */
2577
+ skipCache?: boolean;
2578
+ /**
2579
+ * Whether to cancel the previous request if it is still loading.
2580
+ * @default false
2581
+ */
2582
+ cancelPrevious?: boolean;
2583
+ }
2584
+ type RouteType<Arguments extends BaseArguments | undefined> = Arguments extends {
2585
+ pathParams: infer PathParams;
2586
+ } ? (p: PathParams) => RouteString : RouteString;
2587
+ type RouteString = `/${string}`;
2588
+ type AnyRoute = ((p: PathParams) => string) | RouteString;
2589
+ interface PollConfig {
2590
+ /**
2591
+ * The interval in milliseconds to poll the query.
2592
+ */
2593
+ interval: number;
2594
+ /**
2595
+ * A observable that will stop the polling when it emits.
2596
+ */
2597
+ takeUntil: Observable<unknown>;
2598
+ /**
2599
+ * Whether to trigger the query immediately after polling starts.
2600
+ */
2601
+ triggerImmediately?: boolean;
2602
+ }
2603
+ declare const enum QueryStateType {
2604
+ Prepared = "PREPARED",
2605
+ Loading = "LOADING",
2606
+ Success = "SUCCESS",
2607
+ Failure = "FAILURE",
2608
+ Cancelled = "CANCELLED"
2609
+ }
2610
+ interface Prepared {
2611
+ type: QueryStateType.Prepared;
2612
+ meta: QueryStateMeta;
2613
+ }
2614
+ interface Success<Response = unknown> {
2615
+ type: QueryStateType.Success;
2616
+ response: Response;
2617
+ headers: RequestHeaders;
2618
+ meta: QueryStateSuccessMeta;
2619
+ }
2620
+ interface Failure {
2621
+ type: QueryStateType.Failure;
2622
+ error: RequestError;
2623
+ meta: QueryStateMeta;
2624
+ }
2625
+ interface Loading {
2626
+ type: QueryStateType.Loading;
2627
+ meta: QueryStateMeta;
2628
+ partialText?: string;
2629
+ progress?: RequestProgress;
2630
+ }
2631
+ interface Cancelled {
2632
+ type: QueryStateType.Cancelled;
2633
+ meta: QueryStateMeta;
2634
+ }
2635
+ interface QueryStateMeta {
2636
+ id: number;
2637
+ triggeredVia: QueryTrigger;
2638
+ isWaitingForRetry?: boolean;
2639
+ retryNumber?: number;
2640
+ retryDelay?: number;
2641
+ }
2642
+ interface QueryStateSuccessMeta extends QueryStateMeta {
2643
+ expiresAt?: number;
2644
+ }
2645
+ type QueryState<Response = unknown> = Loading | Success<Response> | Failure | Cancelled | Prepared;
2646
+ type QueryStateResponseOf<T extends QueryState = QueryState> = T extends Success<infer Response> ? Response : never;
2647
+ type AnyQuery = Query<any, any, any, any, any, any>;
2648
+ type AnyQueryCreatorCollection = {
2649
+ [name: string]: AnyQueryCreator | AnyLegacyQueryCreator;
2650
+ };
2651
+ type QueryCollectionOf<T extends {
2652
+ [name: string]: AnyQueryCreator | AnyLegacyQueryCreator;
2653
+ }> = {
2654
+ [K in keyof T]: {
2655
+ type: K;
2656
+ query: ConstructQuery<T[K]>;
2657
+ };
2658
+ }[keyof T];
2659
+ type AnyQueryCollection = QueryCollectionOf<AnyQueryCreatorCollection>;
2660
+ type QueryOf<T extends AnyQueryCollection | AnyLegacyQuery | AnyQuery | null> = T extends AnyQuery ? T : T extends AnyLegacyQuery ? T : T extends AnyQueryCollection ? T['query'] : never;
2661
+ type AnyQueryCollectionResponse<T extends AnyQueryCollection> = QueryResponseOf<T['query']>;
2662
+ type AnyQueryCollectionData<T extends AnyQueryCollection> = QueryDataOf<T['query']>;
2663
+ type QueryCollectionKeysOf<T extends AnyQueryCollection | AnyLegacyQuery | AnyQuery | null> = T extends AnyQueryCollection ? T['type'] : never;
2664
+ type QueryCollectionWithNullableQuery<T extends AnyQueryCollection | null> = T extends null ? never : {
2665
+ [K in keyof T]: T[K] extends string ? T[K] : T[K] | null;
2666
+ };
2667
+ interface ResetPageOnErrorOperatorConfig<J extends QueryForm<any>> {
2668
+ /**
2669
+ * The query form to reset the page of.
2670
+ */
2671
+ queryForm: J;
2672
+ /**
2673
+ * The key of the page control in the query form.
2674
+ * @default 'page'
2675
+ */
2676
+ pageControlKey?: string;
2677
+ }
2678
+
2679
+ declare class Query<Response, Arguments extends BaseArguments | undefined, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id> {
2680
+ private readonly _client;
2681
+ readonly _id: number;
2682
+ private _currentLocalId;
2683
+ private _pollingSubscription;
2684
+ private _onAbort$;
2685
+ private _currentPollConfig;
2686
+ private readonly _state$;
2687
+ private get _nextId();
2688
+ get state$(): Observable<QueryState<Data>>;
2689
+ /**
2690
+ * The current state of the query.
2691
+ *
2692
+ * **Warning!** This differs from the `state$` observable in that it does not use the query store. Thus, the response data might be outdated.
2693
+ * Use `state$` (or `firstValueFrom(state$)`) the most up-to-date data.
2694
+ */
2695
+ get rawState(): QueryState<Response>;
2696
+ get isExpired(): boolean;
2697
+ get isInUse(): boolean;
2698
+ get isPolling(): boolean;
2699
+ get autoRefreshOnConfig(): Readonly<QueryAutoRefreshConfig>;
2700
+ get store(): Store | null;
2701
+ get canBeCached(): boolean;
2702
+ get _isInMockMode(): boolean;
2703
+ constructor(_client: QueryClient,
2704
+ /**
2705
+ * @internal
2706
+ */
2707
+ _queryConfig: RestQueryConfig<Route, Response, Arguments, Store, Data, Id> | GqlQueryConfig<Route, Response, Arguments, Store, Data, Id>,
2708
+ /**
2709
+ * @internal
2710
+ */
2711
+ _routeWithParams: Route,
2712
+ /**
2713
+ * @internal
2714
+ */
2715
+ _arguments: Arguments,
2716
+ /**
2717
+ * @internal
2718
+ */
2719
+ _queryStoreKey: string);
2720
+ execute(options?: ExecuteQueryOptions): this;
2721
+ abort(): this;
2722
+ poll(config: PollConfig): this;
2723
+ stopPolling(): this;
2724
+ pausePolling(): this;
2725
+ resumePolling(): this;
2726
+ onSuccess(callback: (response: Data) => void): this;
2727
+ onFailure(callback: (error: RequestError<unknown>) => void): this;
2728
+ private _getBearerAuthProvider;
2729
+ private _updateEntityState;
2730
+ private _transformState;
2731
+ private _updateState;
2732
+ private _mockRequest;
2733
+ }
2734
+
2735
+ type OmitNull<T> = T extends null ? never : T;
2736
+ declare function filterSuccess(): <T extends QueryState | null, Response extends QueryStateResponseOf<OmitNull<T>>>(source: Observable<T>) => Observable<Success<Response>>;
2737
+ declare function ignoreAutoRefresh(): <T extends QueryState | null>(source: Observable<T>) => Observable<T>;
2738
+ declare function filterFailure(): <T extends QueryState | null>(source: Observable<T>) => Observable<Failure>;
2739
+ declare function filterQueryStates(allowedStates: QueryStateType[]): <T extends QueryState | null>(source: Observable<T>) => Observable<T>;
2740
+ declare function takeUntilResponse(config?: {
2741
+ excludeNull?: boolean;
2742
+ }): <T extends QueryState | null>(source: Observable<T>) => Observable<T>;
2743
+ declare function filterNull(): <T>(source: Observable<T>) => Observable<OmitNull<T>>;
2744
+ declare function switchQueryState(): <T extends AnyQuery | null, Data extends QueryDataOf<T>>(source: Observable<T>) => Observable<QueryState<Data> | null>;
2745
+ declare function switchQueryCollectionState(): <T extends AnyQueryCollection | null, Data extends AnyQueryCollectionData<OmitNull<T>>>(source: Observable<T>) => Observable<QueryState<Data> | null>;
2746
+ declare const resetPageOnError: <T extends AnyQuery | null | undefined, J extends QueryForm<any>>(config: ResetPageOnErrorOperatorConfig<J>) => (source: Observable<T>) => Observable<QueryState<any> | T>;
2747
+ declare const isQueryStateLoading: (state: QueryState | null | undefined) => state is Loading;
2748
+ declare const isQueryStateSuccess: (state: QueryState | null | undefined) => state is Success;
2749
+ declare const isQueryStateFailure: (state: QueryState | null | undefined) => state is Failure;
2750
+ declare const isQueryStateCancelled: (state: QueryState | null | undefined) => state is Cancelled;
2751
+ declare const isQueryStatePrepared: (state: QueryState | null | undefined) => state is Prepared;
2752
+ declare const isAutoRefresh: (state: QueryState | null | undefined) => boolean;
2753
+ declare const mergeHeaders: (...headers: Array<RequestHeaders | null | undefined>) => RequestHeaders | null | undefined;
2754
+ declare const isGqlQueryConfig: <Response, Arguments extends BaseArguments | undefined, Route extends RouteType<Arguments> | undefined, Store extends EntityStore<unknown>, Data, Id>(config: unknown) => config is GqlQueryConfig<Route, Response, Arguments, Store, Data, Id>;
2755
+ declare const isQuery: <T extends AnyQuery>(query: unknown) => query is T;
2756
+ declare const isQueryCollection: <T extends AnyQueryCollection>(query: unknown) => query is T;
2757
+ /**
2758
+ * @deprecated Use `createQueryCollectionSubject` instead. Will be removed in v6.
2759
+ */
2760
+ declare const createQueryCollection: <T extends AnyQueryCreatorCollection, R extends QueryCollectionOf<T>>(queryMap: T) => BehaviorSubject<R | null>;
2761
+ declare const createQueryCollectionSubject: <T extends AnyQueryCreatorCollection, R extends QueryCollectionOf<T>>(queryMap: T, config?: QueryContainerConfig) => BehaviorSubject<R | null>;
2762
+ declare const createQueryCollectionSignal: <T extends AnyQueryCreatorCollection, R extends QueryCollectionOf<T>>(queryMap: T, config?: QueryContainerConfig) => _angular_core.WritableSignal<R | null>;
2763
+ declare const extractQuery: <T extends AnyQuery | AnyLegacyQuery | AnyQueryCollection | null>(v: T) => _ethlete_query.Query<any, any, any, any, any, any> | (T & AnyLegacyQuery) | LegacyQuery<any, LegacyArgs, Route, any, any, any, Query$1<any>> | null;
2764
+ declare const getDefaultHeaders: (headers: RequestHeaders | RequestHeadersMethodMap | null | undefined, method: Method) => RequestHeaders;
2765
+ declare const castQueryCreatorTypes: <QC extends AnyQueryCreator, Arguments extends QueryArgsOf<QC>, Response extends QueryResponseOf<QC>, Store extends QueryStoreOf<QC>, Data extends QueryDataOf<QC>, Route extends RouteType<Arguments>, Id extends QueryStoreIdOf<QC>, OverrideArguments extends BaseArguments | undefined, OverrideResponse extends Response | undefined>(config: {
2766
+ creator: QC;
2767
+ args?: OverrideArguments;
2768
+ response?: OverrideResponse;
2769
+ }) => QueryCreator<OverrideArguments, OverrideResponse, Route, Store, Data, Id>;
2770
+ declare const computeQueryMethod: (config: {
2771
+ config: AnyRestQueryConfig | AnyGqlQueryConfig;
2772
+ client: QueryClient;
2773
+ }) => "GET" | "POST" | "PUT" | "DELETE" | "PATCH" | "HEAD" | "OPTIONS" | "TRACE" | "CONNECT" | "PURGE" | "LINK" | "UNLINK" | "CUSTOM";
2774
+ declare const computeQueryBody: (config: {
2775
+ config: AnyRestQueryConfig | AnyGqlQueryConfig;
2776
+ client: QueryClient;
2777
+ method: Method;
2778
+ args?: BaseArguments;
2779
+ }) => unknown;
2780
+ declare const computeQueryAuthHeader: (config: {
2781
+ config: AnyRestQueryConfig | AnyGqlQueryConfig;
2782
+ client: QueryClient;
2783
+ }) => Record<string, string> | null;
2784
+ declare const computeQueryHeaders: (config: {
2785
+ config: AnyRestQueryConfig | AnyGqlQueryConfig;
2786
+ client: QueryClient;
2787
+ args?: BaseArguments;
2788
+ }) => RequestHeaders | undefined;
2789
+ declare const computeQueryQueryParams: (config: {
2790
+ config: AnyRestQueryConfig | AnyGqlQueryConfig;
2791
+ client: QueryClient;
2792
+ args?: BaseArguments;
2793
+ }) => object | undefined;
2794
+ declare const paginatedEntityValueUpdater: <T extends Paginated<unknown>, Args extends BaseArguments, Entity, J extends T extends Paginated<infer X> ? X : never>(findFn: (val: J, entity: Entity) => boolean) => ({ response, rawResponse, entity }: {
2795
+ rawResponse: T;
2796
+ response: T;
2797
+ args: Args;
2798
+ entity: Entity;
2799
+ }) => {
2800
+ response: T & {
2801
+ items: unknown[];
2802
+ };
2803
+ rawResponse: T & {
2804
+ items: unknown[];
2805
+ };
2806
+ } | null;
2807
+
2808
+ interface QueryClientConfig {
2809
+ /**
2810
+ * The api base route. Should **not** end with a trailing slash.
2811
+ * @example 'https://api.example.com'
2812
+ */
2813
+ baseRoute: string;
2814
+ /**
2815
+ * Logging configuration for debugging.
2816
+ */
2817
+ logging?: {
2818
+ /**
2819
+ * Log all query state changes.
2820
+ */
2821
+ queryStateChanges?: boolean;
2822
+ /**
2823
+ * Log query state garbage collector runs.
2824
+ */
2825
+ queryStateGarbageCollector?: boolean;
2826
+ /**
2827
+ * Log if subscriptions are made to queries that are in the `prepared` state.
2828
+ * This usually indicates that the `.execute()` method was forgotten.
2829
+ */
2830
+ preparedQuerySubscriptions?: boolean;
2831
+ };
2832
+ /**
2833
+ * Request options.
2834
+ */
2835
+ request?: {
2836
+ /**
2837
+ * Adapter function used for extracting the time until the response is invalid.
2838
+ * The default uses the `cache-control` (`max-age` & `s-maxage`), `age` and `expires` headers.
2839
+ * Should return a number in seconds.
2840
+ */
2841
+ cacheAdapter?: CacheAdapterFn$1;
2842
+ /**
2843
+ * Default headers to be sent with every request.
2844
+ * Will be overridden by headers passed to the query.
2845
+ * Do not include the `Authorization` header here. Use an `AuthProvider` instead.
2846
+ */
2847
+ headers?: RequestHeaders | RequestHeadersMethodMap;
2848
+ /**
2849
+ * Whether to automatically refresh expired queries when the window regains focus.
2850
+ * @default true
2851
+ */
2852
+ autoRefreshQueriesOnWindowFocus?: boolean;
2853
+ /**
2854
+ * Whether to automatically stop polling queries when the window loses focus.
2855
+ * Polling will resume when the window regains focus.
2856
+ * @default true
2857
+ */
2858
+ enableSmartPolling?: boolean;
2859
+ /**
2860
+ * A retry function to be used for all queries.
2861
+ * @default shouldRetryRequest()
2862
+ */
2863
+ retryFn?: RequestRetryFn;
2864
+ /**
2865
+ * Configuration options for all graphql queries.
2866
+ */
2867
+ gql?: {
2868
+ /**
2869
+ * Determines if the query should be sent via GET or POST.
2870
+ * - `GET`: The query will be sent via query parameters.
2871
+ * - `POST`: The query will be sent via the body.
2872
+ * @default 'POST'
2873
+ */
2874
+ transferVia?: GqlTransferOption;
2875
+ };
2876
+ /**
2877
+ * Configuration options for all query strings.
2878
+ */
2879
+ queryParams?: BuildQueryStringConfig;
2880
+ };
2881
+ /**
2882
+ * Parent query client.
2883
+ * Used for sharing the same auth provider.
2884
+ */
2885
+ parent?: QueryClient;
2886
+ }
2887
+
2888
+ declare class QueryClient {
2889
+ private _clientConfig;
2890
+ get config(): QueryClientConfig;
2891
+ get authProvider(): AuthProvider | null;
2892
+ get authProvider$(): rxjs.Observable<AuthProvider | null>;
2893
+ private readonly _authProvider$;
2894
+ constructor(_clientConfig: QueryClientConfig);
2895
+ get: <Route extends RouteType<Arguments>, Response, Id, Data = Response, Arguments extends BaseArguments | undefined = undefined, Store extends EntityStore<unknown> = EntityStore<unknown>>(queryConfig: QueryConfigWithoutMethod<Route, Response, Arguments, Store, Data, Id>) => QueryCreator<Arguments, Response, Route, Store, Data, Id>;
2896
+ post: <Route extends RouteType<Arguments>, Response, Id, Data = Response, Arguments extends BaseArguments | undefined = undefined, Store extends EntityStore<unknown> = EntityStore<unknown>>(queryConfig: QueryConfigWithoutMethod<Route, Response, Arguments, Store, Data, Id>) => QueryCreator<Arguments, Response, Route, Store, Data, Id>;
2897
+ put: <Route extends RouteType<Arguments>, Response, Id, Data = Response, Arguments extends BaseArguments | undefined = undefined, Store extends EntityStore<unknown> = EntityStore<unknown>>(queryConfig: QueryConfigWithoutMethod<Route, Response, Arguments, Store, Data, Id>) => QueryCreator<Arguments, Response, Route, Store, Data, Id>;
2898
+ patch: <Route extends RouteType<Arguments>, Response, Id, Data = Response, Arguments extends BaseArguments | undefined = undefined, Store extends EntityStore<unknown> = EntityStore<unknown>>(queryConfig: QueryConfigWithoutMethod<Route, Response, Arguments, Store, Data, Id>) => QueryCreator<Arguments, Response, Route, Store, Data, Id>;
2899
+ delete: <Route extends RouteType<Arguments>, Response, Id, Data = Response, Arguments extends BaseArguments | undefined = undefined, Store extends EntityStore<unknown> = EntityStore<unknown>>(queryConfig: QueryConfigWithoutMethod<Route, Response, Arguments, Store, Data, Id>) => QueryCreator<Arguments, Response, Route, Store, Data, Id>;
2900
+ gqlQuery: <Route extends RouteType<Arguments>, Response, Id, Data = Response, Arguments extends BaseArguments | undefined = undefined, Store extends EntityStore<unknown> = EntityStore<unknown>>(queryConfig: GqlQueryConfigWithoutMethod<Route, Response, Arguments, Store, Data, Id>) => QueryCreator<Arguments, Response, Route, Store, Data, Id>;
2901
+ gqlMutate: <Route extends RouteType<Arguments>, Response, Id, Data = Response, Arguments extends BaseArguments | undefined = undefined, Store extends EntityStore<unknown> = EntityStore<unknown>>(queryConfig: GqlQueryConfigWithoutMethod<Route, Response, Arguments, Store, Data, Id>) => QueryCreator<Arguments, Response, Route, Store, Data, Id>;
2902
+ fetch: <Route extends RouteType<Arguments>, Response, Arguments extends BaseArguments | undefined, Id, Store extends EntityStore<unknown> = EntityStore<unknown>, Data = Response>(queryConfig: RestQueryConfig<Route, Response, Arguments, Store, Data, Id> | GqlQueryConfig<Route, Response, Arguments, Store, Data, Id>) => QueryCreator<Arguments, Response, Route, Store, Data, Id>;
2903
+ setAuthProvider: (authProvider: AuthProvider) => void;
2904
+ setDefaultHeaders: (config: {
2905
+ headers: RequestHeaders | RequestHeadersMethodMap | null;
2906
+ refreshQueriesInUse?: boolean;
2907
+ }) => void;
2908
+ clearAuthProvider: () => void;
2909
+ _updateBaseRoute: (route: string) => void;
2910
+ }
2911
+
2912
+ declare const shouldCacheQuery: (method: Method) => method is "GET" | "HEAD" | "OPTIONS" | "GQL_QUERY";
2913
+ declare const buildQueryCacheKey: (route: string, args: BaseArguments | undefined) => string;
2914
+
2915
+ declare class QueryStore {
2916
+ private _config?;
2917
+ private _garbageCollector;
2918
+ private _isInLowResourceMode;
2919
+ private _lastBlurTimestamp;
2920
+ private _storeChange$;
2921
+ private _queryCreated$;
2922
+ readonly storeChange$: rxjs.Observable<string>;
2923
+ readonly queryCreated$: rxjs.Observable<AnyQuery>;
2924
+ constructor(_config?: {
2925
+ enableChangeLogging?: boolean;
2926
+ enableGarbageCollectorLogging?: boolean;
2927
+ autoRefreshQueriesOnWindowFocus?: boolean;
2928
+ enableSmartPolling?: boolean;
2929
+ } | undefined);
2930
+ add(id: string, query: AnyQuery): void;
2931
+ get<T extends AnyQuery>(id: string): T | null;
2932
+ remove(id: string): void;
2933
+ forEach(callback: (value: AnyQuery, key: string) => void): void;
2934
+ refreshQueriesInUse(config?: {
2935
+ ignoreCacheValidity?: boolean;
2936
+ purgeUnused?: boolean;
2937
+ }): void;
2938
+ private _initSmartQueryHandling;
2939
+ private _logState;
2940
+ private _initGarbageCollector;
2941
+ private _stopGarbageCollector;
2942
+ private _runGarbageCollector;
2943
+ private _logGarbageCollector;
2944
+ }
2945
+
2946
+ type QueryPrepareFn<Arguments extends BaseArguments | undefined, Response, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id> = Arguments extends BaseArguments ? (args: Arguments & WithHeaders & WithConfig & WithMock<Response>) => Query<Response, Arguments, Route, Store, Data, Id> : (args?: (Arguments extends EmptyObject ? Arguments : EmptyObject) & WithHeaders & WithConfig & WithMock<Response>) => Query<Response, Arguments, Route, Store, Data, Id>;
2947
+ type AnyQueryCreator = QueryCreator<any, any, any, any, any, any>;
2948
+ type QueryArgsOf<T extends AnyQueryCreator | AnyQuery | AnyLegacyQuery | AnyLegacyQueryCreator | null> = T extends QueryCreator<infer Args, any, any, any, any, any> ? Args : T extends Query<any, infer Args, any, any, any, any> ? Args : T extends LegacyQuery<any, infer Args, any, any, any, any, any> ? Args : T extends LegacyQueryCreator<infer Args, any, any, any, any> ? LegacyArgumentsOfQueryArgs<Args> : never;
2949
+ type QueryResponseOf<T extends AnyQueryCreator | AnyQuery | AnyLegacyQuery | AnyLegacyQueryCreator | null> = T extends QueryCreator<any, infer Response, any, any, any, any> ? Response : T extends Query<infer Response, any, any, any, any, any> ? Response : T extends LegacyQuery<infer Response, any, any, any, any, any, any> ? Response : T extends LegacyQueryCreator<any, infer Response, any, any, any> ? Response : never;
2950
+ type QueryRouteOf<T extends AnyQueryCreator | AnyQuery | AnyLegacyQuery | AnyLegacyQueryCreator | null> = T extends QueryCreator<any, any, infer Route, any, any, any> ? Route : T extends Query<any, any, infer Route, any, any, any> ? Route : T extends LegacyQuery<any, any, infer Route, any, any, any, any> ? Route : T extends LegacyQueryCreator<infer Args, any, any, any, any> ? RouteType<LegacyArgumentsOfQueryArgs<Args>> : never;
2951
+ type QueryStoreOf<T extends AnyQueryCreator | AnyQuery | AnyLegacyQuery | AnyLegacyQueryCreator | null> = T extends QueryCreator<any, any, any, infer Store, any, any> ? Store : T extends Query<any, any, any, infer Store, any, any> ? Store : T extends LegacyQuery<any, any, any, infer Store, any, any, any> ? Store : T extends LegacyQueryCreator<any, any, infer Store, any, any> ? Store : never;
2952
+ type QueryDataOf<T extends AnyQueryCreator | AnyLegacyQuery | AnyLegacyQueryCreator | AnyQuery | null> = T extends QueryCreator<any, any, any, any, infer Data, any> ? Data : T extends Query<any, any, any, any, infer Data, any> ? Data : T extends LegacyQuery<any, any, any, any, infer Data, any, any> ? Data : T extends LegacyQueryCreator<any, any, any, any, infer Data> ? Data : never;
2953
+ type QueryStoreIdOf<T extends AnyQueryCreator | AnyQuery | AnyLegacyQuery | AnyLegacyQueryCreator | null> = T extends QueryCreator<any, any, any, any, any, infer StoreId> ? StoreId : T extends Query<any, any, any, any, any, infer StoreId> ? StoreId : T extends LegacyQuery<any, any, any, any, any, infer StoreId, any> ? StoreId : T extends LegacyQueryCreator<any, any, any, infer StoreId, any> ? StoreId : never;
2954
+ type ConstructQuery<T extends AnyQueryCreator | AnyLegacyQueryCreator> = ReturnType<T['prepare']>;
2955
+
2956
+ declare class QueryCreator<Arguments extends BaseArguments | undefined, Response, Route extends RouteType<Arguments>, Store extends EntityStore<unknown>, Data, Id> {
2957
+ private _queryConfig;
2958
+ private _client;
2959
+ private _store;
2960
+ constructor(_queryConfig: RestQueryConfig<Route, Response, Arguments, Store, Data, Id> | GqlQueryConfig<Route, Response, Arguments, Store, Data, Id>, _client: QueryClient, _store: QueryStore);
2961
+ prepare: QueryPrepareFn<Arguments, Response, Route, Store, Data, Id>;
2962
+ createSubject: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => BehaviorSubject<ReturnType<QueryPrepareFn<Arguments, Response, Route, Store, Data, Id>> | null>;
2963
+ createSignal: (initialValue?: ReturnType<typeof this.prepare> | null, config?: QueryContainerConfig) => _angular_core.WritableSignal<ReturnType<QueryPrepareFn<Arguments, Response, Route, Store, Data, Id>> | null>;
2964
+ /**
2965
+ * @deprecated Use `myQuery.createSubject()` or `myQuery.createSignal()` instead. Will be removed in v6.
2966
+ */
2967
+ behaviorSubject: (initialValue?: ReturnType<typeof this.prepare> | null) => BehaviorSubject<ReturnType<QueryPrepareFn<Arguments, Response, Route, Store, Data, Id>> | null>;
2968
+ }
2969
+
2970
+ interface AuthProvider {
2971
+ /**
2972
+ * The up to date auth header.
2973
+ * This will automatically get injected into every query that has the `secure` property set to `true`.
2974
+ */
2975
+ header: Record<string, string>;
2976
+ }
2977
+ interface AuthProviderBasicConfig {
2978
+ /**
2979
+ * Basic auth username
2980
+ */
2981
+ username: string;
2982
+ /**
2983
+ * Basic auth password
2984
+ */
2985
+ password: string;
2986
+ }
2987
+ interface AuthProviderCustomHeaderConfig {
2988
+ /**
2989
+ * The custom header name
2990
+ * @example `X-Api-Key`
2991
+ */
2992
+ name: string;
2993
+ /**
2994
+ * The custom header value
2995
+ * @example `myApiKey`
2996
+ */
2997
+ value: string;
2998
+ }
2999
+ interface AuthProviderBearerConfig<T extends AnyQueryCreator> {
3000
+ /**
3001
+ * The initial jwt
3002
+ */
3003
+ token?: string;
3004
+ /**
3005
+ * Refresh token configuration
3006
+ */
3007
+ refreshConfig?: BearerRefreshConfig<T>;
3008
+ }
3009
+ interface BearerRefreshConfig<T extends AnyQueryCreator> {
3010
+ /**
3011
+ * The query used to trade the refresh token for a new token response.
3012
+ */
3013
+ queryCreator: T;
3014
+ /**
3015
+ * Determines if the token should be refreshed if **any** query returns a 401 response.
3016
+ * @default true
3017
+ */
3018
+ refreshOnUnauthorizedResponse?: boolean;
3019
+ /**
3020
+ * The initial refresh token
3021
+ */
3022
+ token?: string;
3023
+ /**
3024
+ * The cookie name where the refresh token is stored
3025
+ */
3026
+ cookieName?: string;
3027
+ /**
3028
+ * The domain of the cookie. If not set, the current origin will be used.
3029
+ *
3030
+ * @example
3031
+ * "https://example.com" -> "example.com"
3032
+ * "https://sub.example.com" -> "example.com"
3033
+ */
3034
+ cookieDomain?: string;
3035
+ /**
3036
+ * The days until the cookie expires
3037
+ * @default 30
3038
+ */
3039
+ cookieExpiresInDays?: number;
3040
+ /**
3041
+ * The path of the cookie
3042
+ * @default '/'
3043
+ */
3044
+ cookiePath?: string;
3045
+ /**
3046
+ * Enable or disable the cookie
3047
+ * @default true
3048
+ */
3049
+ cookieEnabled?: boolean;
3050
+ /**
3051
+ * The same site property of the cookie
3052
+ * @default 'lax'
3053
+ */
3054
+ cookieSameSite?: 'strict' | 'none' | 'lax';
3055
+ /**
3056
+ * The time in milliseconds before the token expires when the refresh should be triggered.
3057
+ * @default 300000 (5 minutes)
3058
+ */
3059
+ refreshBuffer?: number;
3060
+ /**
3061
+ * The expires in property name inside the jwt body
3062
+ * @default 'exp'
3063
+ */
3064
+ expiresInPropertyName?: string;
3065
+ /**
3066
+ * Determines when the token should be refreshed.
3067
+ * @default AuthBearerRefreshStrategy.BeforeExpiration
3068
+ */
3069
+ strategy?: AuthBearerRefreshStrategy;
3070
+ /**
3071
+ * Adapter function used to build the request body for the refresh request.
3072
+ * @default { body: { refreshToken: "refreshToken" } }
3073
+ */
3074
+ requestArgsAdapter?: (tokens: {
3075
+ token: string | null;
3076
+ refreshToken: string;
3077
+ }) => QueryArgsOf<T>;
3078
+ /**
3079
+ * Adapter function used to extract the token and refreshToken from the response.
3080
+ * @default { token: "token", refreshToken: "refreshToken" }
3081
+ */
3082
+ responseAdapter?: (response: NonNullable<QueryResponseOf<T>>) => TokenResponse;
3083
+ }
3084
+ declare const enum AuthBearerRefreshStrategy {
3085
+ /**
3086
+ * Automatically refresh the token 5 minutes before expiration.
3087
+ * The time can be configured with the `refreshBuffer` property.
3088
+ */
3089
+ BeforeExpiration = "beforeExpiration"
3090
+ }
3091
+ interface TokenResponse {
3092
+ /**
3093
+ * The access token used inside the authorization http header.
3094
+ */
3095
+ token: string | null;
3096
+ /**
3097
+ * The refresh token used for requesting a new token response once the current tokes is expired.
3098
+ * This property is required if the bearer refresh config is set.
3099
+ */
3100
+ refreshToken: string | null;
3101
+ }
3102
+
3103
+ declare class CustomHeaderAuthProvider implements AuthProvider {
3104
+ _config: AuthProviderCustomHeaderConfig;
3105
+ get header(): {
3106
+ [x: string]: string;
3107
+ };
3108
+ constructor(_config: AuthProviderCustomHeaderConfig);
3109
+ cleanUp(): void;
3110
+ }
3111
+
3112
+ declare class BasicAuthProvider implements AuthProvider {
3113
+ _config: AuthProviderBasicConfig;
3114
+ get header(): {
3115
+ Authorization: string;
3116
+ };
3117
+ private get _basicAuthString();
3118
+ constructor(_config: AuthProviderBasicConfig);
3119
+ cleanUp(): void;
3120
+ }
3121
+
3122
+ declare class BearerAuthProvider<T extends AnyQueryCreator> implements AuthProvider {
3123
+ _config: AuthProviderBearerConfig<T>;
3124
+ private readonly _destroy$;
3125
+ private readonly _currentRefreshQuery$;
3126
+ private readonly _tokens$;
3127
+ get header(): {
3128
+ Authorization: string;
3129
+ };
3130
+ get tokens$(): rxjs.Observable<TokenResponse>;
3131
+ get tokens(): TokenResponse;
3132
+ get currentRefreshQuery$(): rxjs.Observable<ConstructQuery<T> | null>;
3133
+ get currentRefreshQuery(): ConstructQuery<T> | null;
3134
+ get shouldRefreshOnUnauthorizedResponse(): boolean;
3135
+ constructor(_config: AuthProviderBearerConfig<T>);
3136
+ cleanUp(): void;
3137
+ enableCookie(): void;
3138
+ disableCookie(): void;
3139
+ private _setCookie;
3140
+ private _deleteCookie;
3141
+ private _prepareForRefresh;
3142
+ }
3143
+
3144
+ declare const isBasicAuthProvider: (authProvider: AuthProvider) => authProvider is BasicAuthProvider;
3145
+ declare const isBearerAuthProvider: <T extends AnyQueryCreator>(authProvider: AuthProvider) => authProvider is BearerAuthProvider<T>;
3146
+ declare const isCustomHeaderAuthProvider: (authProvider: AuthProvider) => authProvider is CustomHeaderAuthProvider;
3147
+ declare const decryptBearer: <Result = Record<string, unknown>>(token: string) => Result | null;
3148
+
3149
+ interface ClassValidatorError {
3150
+ statusCode: HttpStatusCode;
3151
+ message: string[];
3152
+ error: string;
3153
+ }
3154
+
3155
+ declare const isClassValidatorError: (error: unknown) => error is ClassValidatorError;
3156
+
3157
+ interface QueryClientDevtoolsOptions {
3158
+ displayName?: string;
3159
+ client: QueryClient;
3160
+ }
3161
+ declare const QUERY_CLIENT_DEVTOOLS_TOKEN: InjectionToken<QueryClientDevtoolsOptions[]>;
3162
+ declare const provideQueryClientForDevtools: (queryClient: QueryClientDevtoolsOptions) => {
3163
+ provide: InjectionToken<QueryClientDevtoolsOptions[]>;
3164
+ useValue: QueryClientDevtoolsOptions;
3165
+ multi: boolean;
3166
+ };
3167
+
3168
+ type QueryDevtoolsSnapLayout = 'full' | 'left' | 'right' | 'bottom' | 'top';
3169
+ type QueryListMode = 'live' | 'history';
3170
+ type QueryViewMode = 'query' | 'authProvider';
3171
+ declare class QueryDevtoolsComponent {
3172
+ private readonly _cdr;
3173
+ protected readonly _destroy$: rxjs.Observable<boolean>;
3174
+ protected readonly queryClientConfigs: QueryClientDevtoolsOptions[];
3175
+ protected readonly isOpen: _angular_core.WritableSignal<boolean>;
3176
+ protected readonly isTranslucent: _angular_core.WritableSignal<boolean>;
3177
+ protected readonly snapLayout: _angular_core.WritableSignal<QueryDevtoolsSnapLayout>;
3178
+ protected readonly queryListMode: _angular_core.WritableSignal<QueryListMode>;
3179
+ protected readonly viewMode: _angular_core.WritableSignal<QueryViewMode>;
3180
+ protected showResponse: _angular_core.WritableSignal<boolean>;
3181
+ protected showRawResponse: _angular_core.WritableSignal<boolean>;
3182
+ protected showQueryConfig: _angular_core.WritableSignal<boolean>;
3183
+ protected showEntityStoreValue: _angular_core.WritableSignal<boolean>;
3184
+ protected showArguments: _angular_core.WritableSignal<boolean>;
3185
+ protected selectedClientIdCtrl: FormControl<number | null>;
3186
+ protected readonly selectedClientId: _angular_core.Signal<number | null | undefined>;
3187
+ protected readonly selectedQueryId: _angular_core.WritableSignal<number | null>;
3188
+ protected readonly selectedClientConfig: _angular_core.Signal<QueryClientDevtoolsOptions>;
3189
+ protected readonly queryStore: _angular_core.Signal<_ethlete_query.QueryStore>;
3190
+ protected readonly queryStore$: rxjs.Observable<_ethlete_query.QueryStore>;
3191
+ private readonly _queries$;
3192
+ protected readonly queries: _angular_core.Signal<AnyQuery[] | undefined>;
3193
+ protected readonly selectedQuery: _angular_core.Signal<AnyQuery | null>;
3194
+ protected readonly selectedQuery$: rxjs.Observable<AnyQuery | null>;
3195
+ protected selectedQueryEntityStore: _angular_core.Signal<EntityStore<unknown> | null>;
3196
+ protected readonly selectedQueryEntityStore$: rxjs.Observable<EntityStore<unknown> | null>;
3197
+ protected readonly selectedQueryEntityStoreValue$: rxjs.Observable<Record<string, unknown> | null>;
3198
+ protected readonly queryHistory$: BehaviorSubject<AnyQuery[]>;
3199
+ protected readonly stringifiedQueryConfig: _angular_core.Signal<{
3200
+ query: string;
3201
+ transferVia: GqlTransferOption | undefined;
3202
+ method: _ethlete_query.Method;
3203
+ secure: boolean | undefined;
3204
+ route: any;
3205
+ reportProgress: boolean | undefined;
3206
+ responseType: "arraybuffer" | "blob" | "json" | "text" | undefined;
3207
+ withCredentials: boolean | undefined;
3208
+ autoRefreshOn: QueryAutoRefreshConfig | undefined;
3209
+ enableSmartPolling: boolean | undefined;
3210
+ hasEntityStore: boolean;
3211
+ } | {
3212
+ method: _ethlete_query.Method;
3213
+ secure: boolean | undefined;
3214
+ route: any;
3215
+ reportProgress: boolean | undefined;
3216
+ responseType: "arraybuffer" | "blob" | "json" | "text" | undefined;
3217
+ withCredentials: boolean | undefined;
3218
+ autoRefreshOn: QueryAutoRefreshConfig | undefined;
3219
+ enableSmartPolling: boolean | undefined;
3220
+ hasEntityStore: boolean;
3221
+ } | null>;
3222
+ protected readonly authProvider: _angular_core.Signal<AuthProvider | null | undefined>;
3223
+ protected readonly authProviderDetails: _angular_core.Signal<{
3224
+ readonly type: "CustomHeaderAuthProvider";
3225
+ readonly header: () => {
3226
+ [x: string]: string;
3227
+ };
3228
+ readonly provider: CustomHeaderAuthProvider;
3229
+ readonly config: {
3230
+ readonly name: string;
3231
+ readonly value: string;
3232
+ readonly username?: undefined;
3233
+ readonly password?: undefined;
3234
+ readonly token?: undefined;
3235
+ readonly refreshConfig?: undefined;
3236
+ };
3237
+ } | {
3238
+ readonly type: "BasicAuthProvider";
3239
+ readonly header: () => {
3240
+ Authorization: string;
3241
+ };
3242
+ readonly provider: BasicAuthProvider;
3243
+ readonly config: {
3244
+ readonly username: string;
3245
+ readonly password: string;
3246
+ readonly name?: undefined;
3247
+ readonly value?: undefined;
3248
+ readonly token?: undefined;
3249
+ readonly refreshConfig?: undefined;
3250
+ };
3251
+ } | {
3252
+ readonly type: "BearerAuthProvider";
3253
+ readonly header: () => {
3254
+ Authorization: string;
3255
+ };
3256
+ readonly provider: BearerAuthProvider<_ethlete_query.AnyQueryCreator>;
3257
+ readonly config: {
3258
+ readonly token: string | undefined;
3259
+ readonly refreshConfig: {
3260
+ readonly refreshOnUnauthorizedResponse: boolean | "true (default)";
3261
+ readonly token: string | undefined;
3262
+ readonly cookieName: string | undefined;
3263
+ readonly cookieDomain: string;
3264
+ readonly cookieExpiresInDays: number | "30 (default)";
3265
+ readonly cookiePath: string;
3266
+ readonly cookieEnabled: boolean | "true (default)";
3267
+ readonly cookieSameSite: "strict" | "none" | "lax" | "lax (default)";
3268
+ readonly refreshBuffer: number | "30000 (default)";
3269
+ readonly expiresInPropertyName: string;
3270
+ readonly strategy: AuthBearerRefreshStrategy | "AuthBearerRefreshStrategy.BeforeExpiration (default)";
3271
+ readonly requestArgsAdapter: "custom" | "default";
3272
+ readonly responseAdapter: "custom" | "default";
3273
+ };
3274
+ readonly name?: undefined;
3275
+ readonly value?: undefined;
3276
+ readonly username?: undefined;
3277
+ readonly password?: undefined;
3278
+ };
3279
+ } | {
3280
+ readonly type: "UnknownAuthProvider";
3281
+ readonly header: () => Record<string, string>;
3282
+ readonly provider: AuthProvider;
3283
+ readonly config: {
3284
+ readonly name?: undefined;
3285
+ readonly value?: undefined;
3286
+ readonly username?: undefined;
3287
+ readonly password?: undefined;
3288
+ readonly token?: undefined;
3289
+ readonly refreshConfig?: undefined;
3290
+ };
3291
+ } | null>;
3292
+ constructor();
3293
+ protected trackByClient: TrackByFunction<QueryClientDevtoolsOptions>;
3294
+ protected trackByQuery: TrackByFunction<AnyQuery>;
3295
+ protected toggleOpen(): void;
3296
+ protected toggleTranslucent(): void;
3297
+ protected toggleShowResponse(): void;
3298
+ protected toggleShowQueryConfig(): void;
3299
+ protected toggleShowRawResponse(): void;
3300
+ protected toggleShowEntityStoreValue(): void;
3301
+ protected toggleShowArguments(): void;
3302
+ protected selectSnapLayout(layout: QueryDevtoolsSnapLayout): void;
3303
+ protected selectQueryListMode(mode: QueryListMode): void;
3304
+ protected selectViewMode(mode: QueryViewMode): void;
3305
+ protected selectQuery(query: AnyQuery): void;
3306
+ protected clearQueryHistory(): void;
3307
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDevtoolsComponent, never>;
3308
+ static ɵcmp: _angular_core.ɵɵComponentDeclaration<QueryDevtoolsComponent, "et-query-devtools", never, {}, {}, never, never, true, never>;
3309
+ }
3310
+
3311
+ declare class QueryShortNamePipe implements PipeTransform {
3312
+ transform(value: AnyQuery): string;
3313
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryShortNamePipe, never>;
3314
+ static ɵpipe: _angular_core.ɵɵPipeDeclaration<QueryShortNamePipe, "queryShortName", true>;
3315
+ }
3316
+
3317
+ interface QueryContext<Q extends AnyQuery | AnyLegacyQuery | AnyQueryCollection | null> {
3318
+ /**
3319
+ * The queries's response data.
3320
+ */
3321
+ $implicit: QueryDataOf<QueryOf<Q>> | null;
3322
+ /**
3323
+ * The queries's response data.
3324
+ */
3325
+ etQuery: QueryDataOf<QueryOf<Q>> | null;
3326
+ /**
3327
+ * The query used inside this directive. Useful if for instance the query gets unwrapped via async pipe inside the directive.
3328
+ */
3329
+ query: QueryOf<Q> | null;
3330
+ /**
3331
+ * Is true when the query is triggered by user interaction.
3332
+ */
3333
+ loading: boolean;
3334
+ /**
3335
+ * Is true when the query is triggered by either polling or auto refresh event.
3336
+ */
3337
+ refreshing: boolean;
3338
+ /**
3339
+ * The query's progress state.
3340
+ */
3341
+ progress: RequestProgress | null;
3342
+ /**
3343
+ * The query's error state.
3344
+ */
3345
+ error: RequestError<unknown> | null;
3346
+ /**
3347
+ * The query's scope (only available when the query is a collection)
3348
+ */
3349
+ scope: QueryCollectionKeysOf<Q> | null;
3350
+ }
3351
+ declare class QueryDirective<Q extends AnyQuery | AnyLegacyQuery | AnyQueryCollection | null> implements OnInit, OnDestroy {
3352
+ private _mainTemplateRef;
3353
+ private _viewContainerRef;
3354
+ private _errorHandler;
3355
+ private _cdr;
3356
+ private _isMainViewCreated;
3357
+ private _subscription;
3358
+ private readonly _viewContext;
3359
+ get query(): Q;
3360
+ set query(v: Q);
3361
+ private _query;
3362
+ get cache(): boolean;
3363
+ set cache(v: boolean);
3364
+ private _cache;
3365
+ static ngTemplateContextGuard<Q extends AnyQuery | AnyLegacyQuery | AnyQueryCollection | null>(dir: QueryDirective<Q>, ctx: unknown): ctx is QueryContext<Q>;
3366
+ ngOnInit(): void;
3367
+ ngOnDestroy(): void;
3368
+ private _subscribeToQuery;
3369
+ private _updateView;
3370
+ private _renderMainView;
3371
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<QueryDirective<any>, never>;
3372
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<QueryDirective<any>, "[etQuery]", never, { "query": { "alias": "etQuery"; "required": false; }; "cache": { "alias": "etQueryCache"; "required": false; }; }, {}, never, never, true, never>;
3373
+ }
3374
+
3375
+ type InfinityQueryParamLocation = 'path' | 'query' | 'body' | 'header' | 'variable';
3376
+ type AppendItemsLocation = 'start' | 'end';
3377
+ interface PageParamCalculatorOptions {
3378
+ page: number;
3379
+ totalPages: number | null;
3380
+ itemsPerPage: number;
3381
+ }
3382
+ interface TotalPagesExtractorOptions<Arguments extends BaseArguments | undefined, QueryResponse> {
3383
+ response: QueryResponse;
3384
+ itemsPerPage: number;
3385
+ args: Arguments;
3386
+ }
3387
+ interface InfinityQueryConfig<QueryCreator extends AnyQueryCreator | AnyLegacyQueryCreator, Arguments extends BaseArguments | undefined, QueryResponse, InfinityResponse extends unknown[]> {
3388
+ /**
3389
+ * The query creator to use for fetching pages.
3390
+ */
3391
+ queryCreator: QueryCreator;
3392
+ /**
3393
+ * The interval in milliseconds to poll on. If not provided, polling will be disabled.
3394
+ * @default undefined
3395
+ */
3396
+ pollingInterval?: number;
3397
+ /**
3398
+ * The args that will be merged with the page arg.
3399
+ */
3400
+ defaultArgs?: Arguments & WithHeaders;
3401
+ pageParam?: {
3402
+ /**
3403
+ * The location where the page param is in request.
3404
+ *
3405
+ * @default "query"
3406
+ */
3407
+ location?: InfinityQueryParamLocation;
3408
+ /**
3409
+ * Used as page param name.
3410
+ *
3411
+ * @default "page"
3412
+ */
3413
+ key?: string;
3414
+ /**
3415
+ * A function that calculates the page value for the next request.
3416
+ * E.g. if the pagination is done with a `skip` param, the `pageParamName` should be `skip` and this function should return the correct value.
3417
+ */
3418
+ valueCalculator?: (data: PageParamCalculatorOptions) => number;
3419
+ };
3420
+ limitParam?: {
3421
+ /**
3422
+ * The location where the limit param is in request.
3423
+ *
3424
+ * @default "query"
3425
+ */
3426
+ location?: InfinityQueryParamLocation;
3427
+ /**
3428
+ * Used as limit param name.
3429
+ *
3430
+ * @default "limit"
3431
+ */
3432
+ key?: string;
3433
+ /**
3434
+ * The value of the limit param.
3435
+ *
3436
+ * @default 10
3437
+ */
3438
+ value?: number;
3439
+ };
3440
+ response: {
3441
+ /**
3442
+ * Determines if the response should get reversed before appending to the data array.
3443
+ *
3444
+ * @default false
3445
+ */
3446
+ reverse?: boolean;
3447
+ /**
3448
+ * Determines where to put the new items in the data array.
3449
+ *
3450
+ * @default "end"
3451
+ */
3452
+ appendItemsTo?: AppendItemsLocation;
3453
+ /**
3454
+ * The type of the array that will be created by the infinite query.
3455
+ */
3456
+ arrayType: InfinityResponse;
3457
+ /**
3458
+ * A function that returns the data array from the response.
3459
+ * This function should return the type provided in `responseArrayType`.
3460
+ */
3461
+ valueExtractor?: (response: QueryResponse) => InfinityResponse;
3462
+ /**
3463
+ * The property in the response that contains the total page count.
3464
+ *
3465
+ * @default "totalPages"
3466
+ */
3467
+ totalPagesExtractor?: (data: TotalPagesExtractorOptions<QueryArgsOf<QueryCreator> & WithHeaders, QueryResponse>) => number;
3468
+ };
3469
+ }
3470
+ type OmitUndefined<T> = T extends undefined ? never : T;
3471
+ type AnyInfinityQueryConfig = InfinityQueryConfig<any, any, any, any>;
3472
+ type AnyInfinityQuery = InfinityQuery<any, any, any, any, any>;
3473
+ type InfinityQueryConfigType<QueryCreator extends AnyQueryCreator | AnyLegacyQueryCreator, InfinityResponse extends unknown[]> = InfinityQueryConfig<QueryCreator, OmitUndefined<QueryArgsOf<QueryCreator>>, QueryDataOf<QueryCreator>, InfinityResponse>;
3474
+ type InfinityQueryOf<Cfg extends AnyInfinityQueryConfig | null> = InfinityQuery<NonNullable<Cfg>['queryCreator'], ConstructQuery<NonNullable<Cfg>['queryCreator']>, QueryArgsOf<NonNullable<Cfg>['queryCreator']>, QueryDataOf<NonNullable<Cfg>['queryCreator']>, NonNullable<Cfg>['response']['arrayType']>;
3475
+
3476
+ declare class InfinityQuery<QueryCreator extends AnyQueryCreator | AnyLegacyQueryCreator, Query extends ConstructQuery<QueryCreator>, Args extends QueryArgsOf<QueryCreator>, QueryResponse extends QueryDataOf<QueryCreator>, InfinityResponse extends unknown[]> {
3477
+ private _config;
3478
+ private _destroy$;
3479
+ private readonly _queries$;
3480
+ private readonly _currentPage$;
3481
+ private readonly _currentCalculatedPage$;
3482
+ private readonly _totalPages$;
3483
+ private readonly _itemsPerPage$;
3484
+ private readonly _data$;
3485
+ private readonly _lastQuery$;
3486
+ get currentPage$(): Observable<number | null>;
3487
+ get currentPage(): number | null;
3488
+ get currentCalculatedPage$(): Observable<number | null>;
3489
+ get currentCalculatedPage(): number | null;
3490
+ get totalPages$(): Observable<number | null>;
3491
+ get totalPages(): number | null;
3492
+ get itemsPerPage$(): Observable<number>;
3493
+ get itemsPerPage(): number;
3494
+ get data$(): Observable<InfinityResponse | null>;
3495
+ get currentQuery$(): Observable<Query | null>;
3496
+ constructor(_config: InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>, _destroy$: Observable<boolean>);
3497
+ nextPage(): void;
3498
+ reset(newConfig?: Omit<InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>, 'queryCreator' | 'response'>): void;
3499
+ private _prepareArgs;
3500
+ private _getPageParamLocation;
3501
+ }
3502
+
3503
+ declare const createInfinityQueryConfig: <QueryCreator extends AnyQueryCreator | AnyLegacyQueryCreator, Args extends QueryArgsOf<QueryCreator>, QueryResponse extends QueryDataOf<QueryCreator>, InfinityResponse extends unknown[]>(config: InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>) => InfinityQueryConfig<QueryCreator, Args, QueryResponse, InfinityResponse>;
3504
+ declare const skipPaginationPageParamCalculator: ({ page, itemsPerPage }: PageParamCalculatorOptions) => number;
3505
+
3506
+ interface InfinityQueryContext<Q extends InfinityQueryConfig<AnyQueryCreator, BaseArguments | undefined, any, unknown[]>> {
3507
+ $implicit: Q['response']['arrayType'] | null;
3508
+ etInfinityQuery: Q['response']['arrayType'] | null;
3509
+ loading: boolean;
3510
+ error: RequestError<unknown> | null;
3511
+ isFirstLoad: boolean;
3512
+ canLoadMore: boolean;
3513
+ currentPage: number | null;
3514
+ currentCalculatedPage: number | null;
3515
+ totalPages: number | null;
3516
+ itemsPerPage: number | null;
3517
+ currentQuery: ConstructQuery<Q['queryCreator']> | null;
3518
+ }
3519
+ declare const INFINITY_QUERY_TOKEN: InjectionToken<InfinityQueryDirective<any>>;
3520
+ declare class InfinityQueryDirective<Q extends InfinityQueryConfig<AnyQueryCreator, BaseArguments | undefined, any, unknown[]>> {
3521
+ private readonly _queryConfigChanged$;
3522
+ private readonly _viewContext;
3523
+ private _infinityQueryInstance;
3524
+ private readonly _destroy$;
3525
+ private readonly _cdr;
3526
+ private readonly _viewContainerRef;
3527
+ private readonly _mainTemplateRef;
3528
+ private readonly _errorHandler;
3529
+ private readonly _delayable;
3530
+ private readonly _data$;
3531
+ get infinityQuery(): Q;
3532
+ set infinityQuery(v: Q);
3533
+ private _infinityQuery;
3534
+ get context(): InfinityQueryContext<Q>;
3535
+ get instance(): InfinityQueryOf<Q> | null;
3536
+ get data$(): rxjs.Observable<Q["response"]["arrayType"]>;
3537
+ data: _angular_core.Signal<Q["response"]["arrayType"]>;
3538
+ static ngTemplateContextGuard<Q extends InfinityQueryConfig<AnyQueryCreator, BaseArguments | undefined, any, unknown[]>>(dir: InfinityQueryDirective<Q>, ctx: unknown): ctx is InfinityQueryContext<Q>;
3539
+ constructor();
3540
+ private _setupInfinityQuery;
3541
+ loadNextPage(): void;
3542
+ reset(newConfig?: Omit<Q, 'queryCreator' | 'response'>): void;
3543
+ private _cleanup;
3544
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InfinityQueryDirective<any>, never>;
3545
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InfinityQueryDirective<any>, "[etInfinityQuery]", ["etInfinityQuery"], { "infinityQuery": { "alias": "etInfinityQuery"; "required": false; }; }, {}, never, never, true, [{ directive: typeof i1.DelayableDirective; inputs: {}; outputs: {}; }]>;
3546
+ }
3547
+
3548
+ declare class InfinityQueryTriggerDirective implements OnInit, OnDestroy {
3549
+ private _elementRef;
3550
+ private _infinityQuery;
3551
+ private _destroy;
3552
+ private _observer;
3553
+ click$: rxjs.Observable<unknown>;
3554
+ scrollContainerSelector: string | null;
3555
+ ngOnInit(): void;
3556
+ ngOnDestroy(): void;
3557
+ private _setupIntersectionObserver;
3558
+ static ɵfac: _angular_core.ɵɵFactoryDeclaration<InfinityQueryTriggerDirective, never>;
3559
+ static ɵdir: _angular_core.ɵɵDirectiveDeclaration<InfinityQueryTriggerDirective, "[etInfinityQueryTrigger], et-infinity-query-trigger", never, { "scrollContainerSelector": { "alias": "scrollContainerSelector"; "required": false; }; }, {}, never, never, true, never>;
3560
+ }
3561
+
3562
+ declare const buildErrorMessage: (code: string, message: string) => string;
3563
+ declare class QueryError extends Error {
3564
+ data?: unknown;
3565
+ constructor(code: string, message: string, data?: unknown);
3566
+ }
3567
+ declare const invalidBaseRouteError: (data: unknown) => QueryError;
3568
+ declare const invalidRouteError: (data: unknown) => QueryError;
3569
+ declare const pathParamsMissingInRouteFunctionError: (data: unknown) => QueryError;
3570
+ declare const queryStateAlreadyHasKeyError: (data: unknown) => QueryError;
3571
+ declare const queryStateDoesNotContainKeyError: (data: unknown) => QueryError;
3572
+ declare const queryStateCannotTransformError: (data: unknown) => QueryError;
3573
+ declare const invalidBodyError: (data: unknown) => QueryError;
3574
+
3575
+ interface SymfonyErrorTrace {
3576
+ args: string[];
3577
+ class: string;
3578
+ file: string;
3579
+ function: string;
3580
+ line: number;
3581
+ namespace: string;
3582
+ short_class: string;
3583
+ type: string;
3584
+ }
3585
+ interface SymfonyError {
3586
+ class: string;
3587
+ detail: string;
3588
+ status: HttpStatusCode;
3589
+ title: string;
3590
+ trace: SymfonyErrorTrace[];
3591
+ type: string;
3592
+ }
3593
+
3594
+ declare const isSymfonyError: (error: unknown) => error is SymfonyError;
3595
+ declare const isSymfonyPagerfantaOutOfRangeError: (error: unknown) => error is SymfonyError;
3596
+ declare const isSymfonyFormViolationListError: (error: unknown) => error is FormViolationListView;
3597
+ declare const isSymfonyListError: (error: unknown) => error is FormViolationView[];
3598
+
3599
+ export { AuthBearerRefreshStrategy, BasicAuthProvider, BearerAuthProvider, BooleanArrayQueryField, CustomHeaderAuthProvider, DateArrayQueryField, DateQueryField, EntityStore, index_d as ExperimentalQuery, INFINITY_QUERY_TOKEN, InfinityQuery, InfinityQueryDirective, InfinityQueryTriggerDirective, NumberArrayQueryField, ParseHttpErrorCodeToMessageDePipe, ParseHttpErrorCodeToMessageEnPipe, ParseHttpErrorCodeToTitleDePipe, ParseHttpErrorCodeToTitleEnPipe, QUERY_CLIENT_DEVTOOLS_TOKEN, Query, QueryClient, QueryCreator, QueryDevtoolsComponent, QueryDirective, QueryError, QueryField, QueryForm, QueryShortNamePipe, QueryStateType, QueryStore, SearchQueryField, SortQueryField, StringArrayQueryField, addQueryContainerHandling, buildErrorMessage, buildQueryCacheKey, buildQueryString, buildRoute, buildTimestampFromSeconds, castQueryCreatorTypes, computeQueryAuthHeader, computeQueryBody, computeQueryHeaders, computeQueryMethod, computeQueryQueryParams, createInfinityQueryConfig, createQueryCollection, createQueryCollectionSignal, createQueryCollectionSubject, decryptBearer, deepFreeze, def, detectContentTypeHeader, effectComputed, extractExpiresInSeconds$1 as extractExpiresInSeconds, extractQuery, filterFailure, filterNull, filterQueryStates, filterSuccess, forEachHeader, getDefaultHeaders, getResponseUrl, gql, hasHeader, ignoreAutoRefresh, insertFrom, invalidBaseRouteError, invalidBodyError, invalidRouteError, isAutoRefresh, isBasicAuthProvider, isBearerAuthProvider, isClassValidatorError, isCustomHeaderAuthProvider, isEmptyString, isGqlQueryConfig, isNaN, isQuery, isQueryCollection, isQueryStateCancelled, isQueryStateFailure, isQueryStateLoading, isQueryStatePrepared, isQueryStateSuccess, isRequestError, isSymfonyError, isSymfonyFormViolationListError, isSymfonyListError, isSymfonyPagerfantaOutOfRangeError, mapToPaginated, mergeHeaders, paginatedEntityValueUpdater, parseAllXhrResponseHeaders, parseHttpErrorCodeToMessageDe, parseHttpErrorCodeToMessageEn, parseHttpErrorCodeToTitleDe, parseHttpErrorCodeToTitleEn, pathParamsMissingInRouteFunctionError, provideQueryClientForDevtools, queryArrayComputed, queryComputed, queryComputedTillTruthy, queryStateAlreadyHasKeyError, queryStateCannotTransformError, queryStateDoesNotContainKeyError, queryStateErrorSignal, queryStateLoadingSignal, queryStateResponseSignal, queryStateSignal, removeFrom, request, resetPageOnError, serializeBody, shouldCacheQuery, shouldRetryRequest$1 as shouldRetryRequest, skipPaginationPageParamCalculator, switchQueryCollectionState, switchQueryState, takeUntilResponse, toQuerySignal, toQuerySubject, transformGql, transformMethod, transformToBoolean, transformToBooleanArray, transformToDate, transformToDateArray, transformToNumber, transformToNumberArray, transformToSort, transformToSortQueryParam, transformToString, transformToStringArray };
3600
+ export type { AnyGqlQueryConfig, AnyInfinityQuery, AnyInfinityQueryConfig, AnyQuery, AnyQueryCollection, AnyQueryCollectionData, AnyQueryCollectionResponse, AnyQueryCreator, AnyQueryCreatorCollection, AnyQueryForm, AnyRestQueryConfig, AnyRoute, AppendItemsLocation, AuthProvider, AuthProviderBasicConfig, AuthProviderBearerConfig, AuthProviderCustomHeaderConfig, BaseArguments, BearerRefreshConfig, BuildQueryStringConfig, CacheAdapterFn$1 as CacheAdapterFn, Cancelled, ClassValidatorError, ConstructQuery, EmptyObject, EntityGetParams, EntityIdParams, EntityKey, EntitySetParams, EntityStoreConfig, ExecuteQueryOptions, Failure, GQL, GqlQueryConfig, GqlQueryConfigWithoutMethod, GqlTransferOption, InfinityQueryConfig, InfinityQueryConfigType, InfinityQueryOf, InfinityQueryParamLocation, InsertFromConfig, Loading, Method, OptionalQueryFieldOptions, PageParamCalculatorOptions, PartialXhrState, PathParams, PollConfig, Prepared, QueryArgsOf, QueryAutoRefreshConfig, QueryClientConfig, QueryClientDevtoolsOptions, QueryCollectionKeysOf, QueryCollectionOf, QueryCollectionWithNullableQuery, QueryConfig, QueryConfigBase, QueryConfigWithoutMethod, QueryContainerConfig, QueryDataOf, QueryEntityConfig, QueryFieldOptions, QueryFilterConfig, QueryFormGroup, QueryFormGroupControls, QueryFormObserveOptions, QueryFormOf, QueryFormOptions, QueryFormValue, QueryFormValueEvent, QueryFormWriteOptions, QueryMockConfig, QueryOf, QueryParams, QueryPrepareFn, QueryResponseOf, QueryRouteOf, QueryState, QueryStateMeta, QueryStateResponseOf, QueryStateSignal, QueryStateSuccessMeta, QueryStoreIdOf, QueryStoreOf, QueryTrigger, RemoveFromConfig, RequestConfig, RequestError, RequestEvent, RequestHeaders, RequestHeadersMethodMap, RequestProgress, RequestRetryFn, RequestRetryFnConfig, RequestRetryFnResult, ResetPageOnErrorOperatorConfig, RestQueryConfig, RouteString, RouteType, Sort, SortDirection, Success, SymfonyError, SymfonyErrorTrace, TokenResponse, TotalPagesExtractorOptions, TransformedGqlQuery, WithBody, WithConfig, WithHeaders, WithInjector, WithMock, WithPathParams, WithQueryParams, WithVariables };