react-listing-engine 0.1.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.
- package/CHANGELOG.md +7 -0
- package/LICENSE +21 -0
- package/README.md +161 -0
- package/dist/chunk-2T5PE5MB.js +2 -0
- package/dist/chunk-2VUHLHHX.cjs +2 -0
- package/dist/chunk-35KYEBAC.js +2 -0
- package/dist/chunk-5FBI2WIM.js +2 -0
- package/dist/chunk-5O36WI7H.cjs +2 -0
- package/dist/chunk-6PZHSHU3.js +2 -0
- package/dist/chunk-CHNUE46K.cjs +2 -0
- package/dist/chunk-LCQZIWBO.cjs +2 -0
- package/dist/chunk-N3OZ2HK2.cjs +2 -0
- package/dist/chunk-PFPHWJAA.js +2 -0
- package/dist/components-provider-CF0Mo0B8.d.cts +120 -0
- package/dist/components-provider-CjMxkxrP.d.ts +120 -0
- package/dist/entity-adapter.interface-BDgbSxhq.d.cts +33 -0
- package/dist/entity-adapter.interface-BDgbSxhq.d.ts +33 -0
- package/dist/index.cjs +2 -0
- package/dist/index.d.cts +674 -0
- package/dist/index.d.ts +674 -0
- package/dist/index.js +2 -0
- package/dist/listing-app-De6OqpUC.d.ts +199 -0
- package/dist/listing-app-pKMQBuQI.d.cts +199 -0
- package/dist/listing-config-options.interface-ZJYY_ZvR.d.cts +12 -0
- package/dist/listing-config-options.interface-ZJYY_ZvR.d.ts +12 -0
- package/dist/map-provider.interface-BMnwW3ob.d.cts +37 -0
- package/dist/map-provider.interface-BxexMT3X.d.ts +37 -0
- package/dist/maps/google/index.cjs +2 -0
- package/dist/maps/google/index.d.cts +39 -0
- package/dist/maps/google/index.d.ts +39 -0
- package/dist/maps/google/index.js +2 -0
- package/dist/presets/rental/index.cjs +2 -0
- package/dist/presets/rental/index.d.cts +266 -0
- package/dist/presets/rental/index.d.ts +266 -0
- package/dist/presets/rental/index.js +2 -0
- package/dist/shadcn/index.cjs +2 -0
- package/dist/shadcn/index.d.cts +261 -0
- package/dist/shadcn/index.d.ts +261 -0
- package/dist/shadcn/index.js +2 -0
- package/dist/styled/index.cjs +2 -0
- package/dist/styled/index.d.cts +123 -0
- package/dist/styled/index.d.ts +123 -0
- package/dist/styled/index.js +2 -0
- package/dist/styles.css +972 -0
- package/dist/testing/index.cjs +2 -0
- package/dist/testing/index.d.cts +51 -0
- package/dist/testing/index.d.ts +51 -0
- package/dist/testing/index.js +2 -0
- package/dist/url-sync.controller-CsU_QxoS.d.cts +89 -0
- package/dist/url-sync.controller-DX67JivW.d.ts +89 -0
- package/package.json +143 -0
package/dist/index.d.cts
ADDED
|
@@ -0,0 +1,674 @@
|
|
|
1
|
+
import { P as Page, B as Bounds, E as EntityId, M as MapPoint, Q as QueryParams, L as LatLng } from './entity-adapter.interface-BDgbSxhq.cjs';
|
|
2
|
+
export { a as EntityAdapter, b as PageRequest } from './entity-adapter.interface-BDgbSxhq.cjs';
|
|
3
|
+
import { U as Unsubscribe, M as MapProvider } from './map-provider.interface-BMnwW3ob.cjs';
|
|
4
|
+
export { a as MapHandle, b as MapInitOptions, R as RenderedLayer } from './map-provider.interface-BMnwW3ob.cjs';
|
|
5
|
+
import { D as DatasetDefinition, F as FilterRegistry, I as IListingToolbarProps } from './components-provider-CF0Mo0B8.cjs';
|
|
6
|
+
export { C as ClusterOptions, a as FilterControlProps, b as FilterDefinition, c as IListingCardProps, d as IListingComponents, e as IListingEmptyProps, f as IListingFilterPanelProps, g as IListingLoadingProps, h as IListingMarkerProps, i as IListingPopupProps, j as IListingResultHeaderProps, k as IListingSearchProps, l as IListingSidebarProps, L as ListingComponentsProvider, M as MarkerRenderer, u as useListingComponents } from './components-provider-CF0Mo0B8.cjs';
|
|
7
|
+
import { P as PaginationMode, I as IListingConfigOptions } from './listing-config-options.interface-ZJYY_ZvR.cjs';
|
|
8
|
+
import { H as HistoryPort, U as UrlSyncController } from './url-sync.controller-CsU_QxoS.cjs';
|
|
9
|
+
export { a as UrlSyncEngine, b as UrlSyncOptions } from './url-sync.controller-CsU_QxoS.cjs';
|
|
10
|
+
import * as react from 'react';
|
|
11
|
+
import { ReactNode } from 'react';
|
|
12
|
+
export { L as ListingApp, a as ListingAppProps } from './listing-app-pKMQBuQI.cjs';
|
|
13
|
+
|
|
14
|
+
declare enum ListingEventType {
|
|
15
|
+
FiltersChanged = "FiltersChanged",
|
|
16
|
+
ResultsLoaded = "ResultsLoaded",
|
|
17
|
+
PointClicked = "PointClicked",
|
|
18
|
+
BoundsChanged = "BoundsChanged",
|
|
19
|
+
LayerToggled = "LayerToggled"
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
interface ListingState<TEntity, TFilters> {
|
|
23
|
+
filters: TFilters;
|
|
24
|
+
results: Page<TEntity>;
|
|
25
|
+
bounds: Bounds | null;
|
|
26
|
+
selection: EntityId | null;
|
|
27
|
+
pagination: {
|
|
28
|
+
mode: PaginationMode;
|
|
29
|
+
loading: boolean;
|
|
30
|
+
};
|
|
31
|
+
layers: Record<string, boolean>;
|
|
32
|
+
points: Readonly<Record<string, ReadonlyArray<MapPoint<unknown>>>>;
|
|
33
|
+
}
|
|
34
|
+
interface ListingStoreInit<TFilters> {
|
|
35
|
+
filters: TFilters;
|
|
36
|
+
mode?: PaginationMode;
|
|
37
|
+
}
|
|
38
|
+
type Listener$1 = () => void;
|
|
39
|
+
type DeepReadonly<T> = T extends (infer U)[] ? ReadonlyArray<DeepReadonly<U>> : T extends object ? {
|
|
40
|
+
readonly [K in keyof T]: DeepReadonly<T[K]>;
|
|
41
|
+
} : T;
|
|
42
|
+
declare class ListingStore<TEntity, TFilters> {
|
|
43
|
+
private state;
|
|
44
|
+
private readonly listeners;
|
|
45
|
+
constructor(init: ListingStoreInit<TFilters>);
|
|
46
|
+
getState(): DeepReadonly<ListingState<TEntity, TFilters>>;
|
|
47
|
+
setFilters(patch: Partial<TFilters>): void;
|
|
48
|
+
setResults(page: Page<TEntity>): void;
|
|
49
|
+
appendResults(page: Page<TEntity>): void;
|
|
50
|
+
setBounds(bounds: Bounds | null): void;
|
|
51
|
+
setSelection(id: EntityId | null): void;
|
|
52
|
+
setLayerVisible(id: string, visible: boolean): void;
|
|
53
|
+
setLoading(loading: boolean): void;
|
|
54
|
+
setPoints(datasetId: string, points: MapPoint<unknown>[]): void;
|
|
55
|
+
subscribe(cb: Listener$1): Unsubscribe;
|
|
56
|
+
private setState;
|
|
57
|
+
private notify;
|
|
58
|
+
private freezeState;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
/**
|
|
62
|
+
* Framework-free registry of `DatasetDefinition`s — each a marker layer
|
|
63
|
+
* (adapter + marker renderer + optional clustering/visibility). Analogous to
|
|
64
|
+
* `FilterRegistry`: defs are stored by VALUE (shallow-cloned on `add`), never
|
|
65
|
+
* by the caller's original reference, so mutating the caller's object after
|
|
66
|
+
* `add()` can't reach into the registry. Unlike `FilterRegistry`, there is no
|
|
67
|
+
* `remove`/`replace`/`reorder` — datasets are a fixed set of layers wired up
|
|
68
|
+
* once at listing-config time; `list()` order is simply insertion order via
|
|
69
|
+
* the backing `Map`.
|
|
70
|
+
*
|
|
71
|
+
* `TEntity`/`TFilters` default to `unknown` because one registry instance
|
|
72
|
+
* holds heterogeneous layers (e.g. a properties layer and a businesses layer
|
|
73
|
+
* have different entity types) — the engine holds a single
|
|
74
|
+
* `DatasetRegistry<unknown, TFilters>` across all of them.
|
|
75
|
+
*/
|
|
76
|
+
declare class DatasetRegistry<TEntity = unknown, TFilters = unknown> {
|
|
77
|
+
private readonly defs;
|
|
78
|
+
add(def: DatasetDefinition<TEntity, TFilters>): this;
|
|
79
|
+
get(id: string): DatasetDefinition<TEntity, TFilters> | undefined;
|
|
80
|
+
has(id: string): boolean;
|
|
81
|
+
list(): DatasetDefinition<TEntity, TFilters>[];
|
|
82
|
+
visibleIds(): string[];
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
type Listener<E> = (event: E) => void;
|
|
86
|
+
/**
|
|
87
|
+
* Tiny typed event emitter. Subscribers can listen to a specific event type
|
|
88
|
+
* (matched on `event.type`) or via the `'*'` wildcard. Returns an unsubscribe
|
|
89
|
+
* handle from `on()`.
|
|
90
|
+
*/
|
|
91
|
+
declare class TypedEmitter<E extends {
|
|
92
|
+
type: string;
|
|
93
|
+
}> {
|
|
94
|
+
private readonly map;
|
|
95
|
+
dispose(): void;
|
|
96
|
+
emit(event: E): void;
|
|
97
|
+
on(type: '*' | E['type'], handler: Listener<E>): () => void;
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
type ListingEvent<TEntity = unknown, TFilters = unknown> = {
|
|
101
|
+
type: ListingEventType.FiltersChanged;
|
|
102
|
+
filters: TFilters;
|
|
103
|
+
} | {
|
|
104
|
+
type: ListingEventType.ResultsLoaded;
|
|
105
|
+
datasetId: string;
|
|
106
|
+
count: number;
|
|
107
|
+
} | {
|
|
108
|
+
type: ListingEventType.PointClicked;
|
|
109
|
+
datasetId: string;
|
|
110
|
+
id: EntityId;
|
|
111
|
+
entity: TEntity;
|
|
112
|
+
} | {
|
|
113
|
+
type: ListingEventType.BoundsChanged;
|
|
114
|
+
bounds: Bounds;
|
|
115
|
+
} | {
|
|
116
|
+
type: ListingEventType.LayerToggled;
|
|
117
|
+
datasetId: string;
|
|
118
|
+
visible: boolean;
|
|
119
|
+
};
|
|
120
|
+
|
|
121
|
+
/**
|
|
122
|
+
* Merges a partial `IListingConfigOptions` over `listingDefaultConfig` and
|
|
123
|
+
* freezes the result. Pure data holder — no reactivity/subscriptions, unlike
|
|
124
|
+
* the wizard's `WizardConfig` (the listing engine doesn't need live config
|
|
125
|
+
* updates for this task).
|
|
126
|
+
*/
|
|
127
|
+
declare class ListingConfig {
|
|
128
|
+
readonly options: Readonly<IListingConfigOptions>;
|
|
129
|
+
constructor(partial?: Partial<IListingConfigOptions>);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
declare const listingDefaultConfig: IListingConfigOptions;
|
|
133
|
+
|
|
134
|
+
interface ListingEngineOptions<TFilters> {
|
|
135
|
+
datasets: DatasetRegistry<unknown, TFilters>;
|
|
136
|
+
filters?: FilterRegistry<TFilters>;
|
|
137
|
+
config?: Partial<IListingConfigOptions>;
|
|
138
|
+
map?: MapProvider;
|
|
139
|
+
initialFilters?: TFilters;
|
|
140
|
+
primaryDatasetId?: string;
|
|
141
|
+
}
|
|
142
|
+
/**
|
|
143
|
+
* Pure-TS, React-free facade orchestrating `ListingStore` + `DatasetRegistry`
|
|
144
|
+
* + `FilterRegistry` + `TypedEmitter` + `ListingConfig` (and, eventually, a
|
|
145
|
+
* `MapProvider`). This is the object a React provider (Task 13) constructs
|
|
146
|
+
* once and disposes on unmount; every mutation goes through here rather than
|
|
147
|
+
* through the store directly, so store writes and event emissions never
|
|
148
|
+
* drift apart.
|
|
149
|
+
*
|
|
150
|
+
* No `UrlSyncController` here on purpose — that's Task 9's strategy layer,
|
|
151
|
+
* wired in on top of this engine, not inside it.
|
|
152
|
+
*
|
|
153
|
+
* `TEntity` cannot be inferred from the constructor — `ListingEngineOptions`
|
|
154
|
+
* only carries an entity-erased `DatasetRegistry<unknown, TFilters>` (see
|
|
155
|
+
* that interface's docstring) — so `TEntity` must be supplied explicitly
|
|
156
|
+
* (`new ListingEngine<TEntity, TFilters>(options)`) whenever entity-level
|
|
157
|
+
* typing is needed, e.g. reading `.state.results.items`.
|
|
158
|
+
*/
|
|
159
|
+
declare class ListingEngine<TEntity, TFilters> {
|
|
160
|
+
readonly filters: FilterRegistry<TFilters>;
|
|
161
|
+
readonly map?: MapProvider;
|
|
162
|
+
readonly datasets: DatasetRegistry<unknown, TFilters>;
|
|
163
|
+
readonly primaryDatasetId: string;
|
|
164
|
+
private readonly store;
|
|
165
|
+
private readonly emitter;
|
|
166
|
+
private readonly config;
|
|
167
|
+
private debounceTimer;
|
|
168
|
+
private debounceResolve;
|
|
169
|
+
private queryToken;
|
|
170
|
+
private pointsToken;
|
|
171
|
+
constructor(options: ListingEngineOptions<TFilters>);
|
|
172
|
+
get state(): {
|
|
173
|
+
readonly filters: TFilters extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly /*elided*/ any[] : T extends object ? { readonly [K_2 in keyof T]: /*elided*/ any; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : TFilters extends object ? { readonly [K_1 in keyof TFilters]: TFilters[K_1] extends infer T ? T extends TFilters[K_1] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_8 ? T_8 extends U[K] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (infer U)[] ? readonly /*elided*/ any[] : T_9 extends object ? /*elided*/ any : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : TFilters;
|
|
174
|
+
readonly results: {
|
|
175
|
+
readonly items: readonly (TEntity extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? /*elided*/ any : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly /*elided*/ any[] : T extends object ? { readonly [K_3 in keyof T]: /*elided*/ any; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : TEntity extends object ? { readonly [K_2 in keyof TEntity]: TEntity[K_2] extends infer T ? T extends TEntity[K_2] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : T extends object ? { readonly [K_4 in keyof T]: T[K_4] extends infer T_1 ? T_1 extends T[K_4] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : T_1 extends object ? { readonly [K_5 in keyof T_1]: T_1[K_5] extends infer T_2 ? T_2 extends T_1[K_5] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : T_2 extends object ? { readonly [K_6 in keyof T_2]: T_2[K_6] extends infer T_3 ? T_3 extends T_2[K_6] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : T_3 extends object ? { readonly [K_7 in keyof T_3]: T_3[K_7] extends infer T_4 ? T_4 extends T_3[K_7] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : T_4 extends object ? { readonly [K_8 in keyof T_4]: T_4[K_8] extends infer T_5 ? T_5 extends T_4[K_8] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : T_5 extends object ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : U)[] : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_8 ? T_8 extends U[K] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : U)[] : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : TEntity)[];
|
|
176
|
+
readonly nextCursor: string | null;
|
|
177
|
+
readonly total?: number | undefined;
|
|
178
|
+
};
|
|
179
|
+
readonly bounds: {
|
|
180
|
+
readonly west: number;
|
|
181
|
+
readonly south: number;
|
|
182
|
+
readonly east: number;
|
|
183
|
+
readonly north: number;
|
|
184
|
+
} | null;
|
|
185
|
+
readonly selection: EntityId | null;
|
|
186
|
+
readonly pagination: {
|
|
187
|
+
readonly mode: PaginationMode;
|
|
188
|
+
readonly loading: boolean;
|
|
189
|
+
};
|
|
190
|
+
readonly layers: {
|
|
191
|
+
readonly [x: string]: boolean;
|
|
192
|
+
};
|
|
193
|
+
readonly points: {
|
|
194
|
+
readonly [x: string]: readonly {
|
|
195
|
+
readonly id: EntityId;
|
|
196
|
+
readonly position: {
|
|
197
|
+
readonly lat: number;
|
|
198
|
+
readonly lng: number;
|
|
199
|
+
};
|
|
200
|
+
readonly entity: unknown;
|
|
201
|
+
}[];
|
|
202
|
+
};
|
|
203
|
+
};
|
|
204
|
+
get options(): Readonly<IListingConfigOptions>;
|
|
205
|
+
applyFilters(patch: Partial<TFilters>): Promise<void>;
|
|
206
|
+
loadPage(): Promise<void>;
|
|
207
|
+
loadPoints(bounds: Bounds): Promise<void>;
|
|
208
|
+
selectPoint(datasetId: string, id: EntityId): void;
|
|
209
|
+
toggleLayer(id: string): void;
|
|
210
|
+
subscribe(cb: () => void): () => void;
|
|
211
|
+
on(type: ListingEvent<TEntity, TFilters>['type'] | '*', cb: (e: ListingEvent<TEntity, TFilters>) => void): () => void;
|
|
212
|
+
dispose(): void;
|
|
213
|
+
private runQuery;
|
|
214
|
+
private primaryDataset;
|
|
215
|
+
private currentFilters;
|
|
216
|
+
private clearDebounce;
|
|
217
|
+
}
|
|
218
|
+
|
|
219
|
+
/**
|
|
220
|
+
* In-memory `HistoryPort` — holds `QueryParams` in a plain field instead of
|
|
221
|
+
* the browser URL. Used by tests (fast, no DOM/jsdom `history` needed) and by
|
|
222
|
+
* SSR, where there is no `window` to read/write.
|
|
223
|
+
*/
|
|
224
|
+
declare class MemoryHistoryPort implements HistoryPort {
|
|
225
|
+
private query;
|
|
226
|
+
private readonly listeners;
|
|
227
|
+
constructor(initial?: QueryParams);
|
|
228
|
+
getQuery(): QueryParams;
|
|
229
|
+
setQuery(params: QueryParams): void;
|
|
230
|
+
subscribe(cb: () => void): () => void;
|
|
231
|
+
private notify;
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
/**
|
|
235
|
+
* Aggregated provider props — the composition entry point of
|
|
236
|
+
* react-listing-engine, mirroring `react-wizard-engine`'s
|
|
237
|
+
* `composeWizardProviders` mutator pattern exactly (see that package's
|
|
238
|
+
* `src/core/compose-wizard-providers.ts`). Built up by chaining `with*`
|
|
239
|
+
* helpers via `composeListingProviders(...)`. A future React provider
|
|
240
|
+
* consumes these props to construct `new ListingEngine(...)` (datasets,
|
|
241
|
+
* filters, config, map, initialFilters, primaryDatasetId) and wire up an
|
|
242
|
+
* optional `UrlSyncController` on top of it.
|
|
243
|
+
*
|
|
244
|
+
* Parameterized by `TFilters` only, not `TEntity` — same reasoning as
|
|
245
|
+
* `ListingEngineOptions`: `datasets` is entity-erased
|
|
246
|
+
* (`DatasetRegistry<unknown, TFilters>`) because one registry instance holds
|
|
247
|
+
* heterogeneous layers (a properties layer and a businesses layer have
|
|
248
|
+
* different entity types).
|
|
249
|
+
*/
|
|
250
|
+
interface IListingProviderProps<TFilters> {
|
|
251
|
+
config: Partial<IListingConfigOptions>;
|
|
252
|
+
filters: FilterRegistry<TFilters>;
|
|
253
|
+
datasets: DatasetRegistry<unknown, TFilters>;
|
|
254
|
+
map?: MapProvider;
|
|
255
|
+
urlSync?: UrlSyncController<TFilters>;
|
|
256
|
+
initialFilters?: TFilters;
|
|
257
|
+
primaryDatasetId?: string;
|
|
258
|
+
}
|
|
259
|
+
/**
|
|
260
|
+
* Modifier function — receives the props in flight, mutates them, returns
|
|
261
|
+
* void. Each `with*` helper returns one of these.
|
|
262
|
+
*/
|
|
263
|
+
type ListingProviderMod<TFilters> = (props: IListingProviderProps<TFilters>) => void;
|
|
264
|
+
declare function composeListingProviders<TFilters>(...mods: Array<ListingProviderMod<TFilters>>): IListingProviderProps<TFilters>;
|
|
265
|
+
declare const withConfig: <TFilters>(options: Partial<IListingConfigOptions>) => ListingProviderMod<TFilters>;
|
|
266
|
+
declare const withMap: <TFilters>(provider: MapProvider) => ListingProviderMod<TFilters>;
|
|
267
|
+
declare const withDataset: <TEntity, TFilters>(def: DatasetDefinition<TEntity, TFilters>) => ListingProviderMod<TFilters>;
|
|
268
|
+
declare const withFilters: <TFilters>(fn: (reg: FilterRegistry<TFilters>) => void) => ListingProviderMod<TFilters>;
|
|
269
|
+
declare const withUrlSync: <TFilters>(controller: UrlSyncController<TFilters>) => ListingProviderMod<TFilters>;
|
|
270
|
+
declare const withInitialFilters: <TFilters>(filters: TFilters) => ListingProviderMod<TFilters>;
|
|
271
|
+
declare const withPrimaryDataset: <TFilters>(id: string) => ListingProviderMod<TFilters>;
|
|
272
|
+
|
|
273
|
+
interface BrowserHistoryPortOptions {
|
|
274
|
+
mode?: 'replace' | 'push';
|
|
275
|
+
}
|
|
276
|
+
/**
|
|
277
|
+
* `HistoryPort` backed by the real `window.location`/`window.history` APIs.
|
|
278
|
+
* SSR-safe: every method no-ops (or returns an empty/no-op value) when
|
|
279
|
+
* `window` isn't defined, so this can be constructed unconditionally at
|
|
280
|
+
* module scope in an SSR app without crashing on the server render.
|
|
281
|
+
*
|
|
282
|
+
* OPTIONAL helper: only meaningful paired with a `UrlSyncController` (see
|
|
283
|
+
* that class's doc comment for why it is no longer the primary URL-sync
|
|
284
|
+
* path). The recommended default (`styled/listing-app.tsx`'s `ListingApp`)
|
|
285
|
+
* never constructs one of these — it emits filter changes and lets the
|
|
286
|
+
* consumer call their own `window.history`/router APIs instead.
|
|
287
|
+
*/
|
|
288
|
+
declare class BrowserHistoryPort implements HistoryPort {
|
|
289
|
+
private readonly mode;
|
|
290
|
+
constructor(opts?: BrowserHistoryPortOptions);
|
|
291
|
+
getQuery(): QueryParams;
|
|
292
|
+
setQuery(params: QueryParams): void;
|
|
293
|
+
subscribe(cb: () => void): () => void;
|
|
294
|
+
}
|
|
295
|
+
|
|
296
|
+
interface IListingFiltersProps {
|
|
297
|
+
/**
|
|
298
|
+
* ClassName for the container wrapping every filter group. Purely a
|
|
299
|
+
* styling hook -- this component stays structure-only, so it never bakes
|
|
300
|
+
* in its own layout beyond the `space-y-5` fallback below. Pass a
|
|
301
|
+
* horizontal row (e.g. `"flex flex-wrap items-end gap-3"`) to flow filter
|
|
302
|
+
* groups inline instead of stacking them, as `/shadcn`'s `ListingLayout`
|
|
303
|
+
* does for its top filter bar.
|
|
304
|
+
*/
|
|
305
|
+
className?: string;
|
|
306
|
+
/** ClassName applied to each individual filter group's wrapper `<div>` (including the string-placeholder case). */
|
|
307
|
+
groupClassName?: string;
|
|
308
|
+
}
|
|
309
|
+
/**
|
|
310
|
+
* Structure-only filter panel: one control per `engine.filters.list()` entry,
|
|
311
|
+
* wrapped in the injected `FilterPanel`.
|
|
312
|
+
*
|
|
313
|
+
* - `def.render` as a component: mounted with `{ value, onChange }`, where
|
|
314
|
+
* `value = def.fromParams(filters)` and `onChange(v)` applies
|
|
315
|
+
* `def.toParams(v)` via `engine.applyFilters(...)` (not `setField` --
|
|
316
|
+
* `toParams` can legitimately touch more than one `TFilters` key, so the
|
|
317
|
+
* general bulk-patch mutator is the correct one to route through).
|
|
318
|
+
* - `def.render` as a string (a *named* default control, e.g.
|
|
319
|
+
* `"text"`/`"range"`/`"toggle"`): there is no shared named-control registry
|
|
320
|
+
* yet, so this renders an inert `<div data-filter={def.key} />` placeholder.
|
|
321
|
+
* Wiring a real named-control registry (so `"range"` etc. resolve to an
|
|
322
|
+
* actual control, likely in the `/shadcn` adapter) is a documented future
|
|
323
|
+
* enhancement, not attempted in this task.
|
|
324
|
+
*
|
|
325
|
+
* Each filter group is wrapped in its own `<div>`: when `def.label` is set,
|
|
326
|
+
* a small label renders above the control; when absent, only the control
|
|
327
|
+
* renders (unlabeled, same as before `label` existed) -- fully backward
|
|
328
|
+
* compatible with filter defs that don't set it.
|
|
329
|
+
*
|
|
330
|
+
* `className`/`groupClassName` are optional styling hooks (default: `undefined`
|
|
331
|
+
* -- the container falls back to the original vertical `space-y-5` stack, and
|
|
332
|
+
* each group renders with no extra class, identical to pre-`className`
|
|
333
|
+
* behavior). Passing a horizontal `className` does NOT change the
|
|
334
|
+
* label-above-control structure within each group -- only how the groups
|
|
335
|
+
* themselves are laid out relative to each other.
|
|
336
|
+
*/
|
|
337
|
+
declare function ListingFilters({ className, groupClassName }?: IListingFiltersProps): react.JSX.Element;
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* Structure-only results list. Renders the injected `Loading` while the
|
|
341
|
+
* first page is still in flight, `Empty` once settled with nothing, and
|
|
342
|
+
* otherwise one injected `Card` per result item.
|
|
343
|
+
*
|
|
344
|
+
* `onSelect` routes through `engine.selectPoint(engine.primaryDatasetId, id)`
|
|
345
|
+
* -- the only mutator for `state.selection` -- rather than a list-only
|
|
346
|
+
* selection concept, so selecting a list item and clicking the same entity's
|
|
347
|
+
* map marker converge on one shared `state.selection`. Results always come
|
|
348
|
+
* from the primary dataset (`ListingEngine#loadPage`/`applyFilters` query
|
|
349
|
+
* `primaryDataset()` internally), which is why `engine.primaryDatasetId` is
|
|
350
|
+
* the right id to pass here (see the Step 0 note on `ListingEngine` in the
|
|
351
|
+
* task report for why that field was made public).
|
|
352
|
+
*/
|
|
353
|
+
declare function ListingList({ className }?: {
|
|
354
|
+
className?: string;
|
|
355
|
+
}): react.JSX.Element;
|
|
356
|
+
|
|
357
|
+
interface IListingMapProps {
|
|
358
|
+
/**
|
|
359
|
+
* Initial map center, forwarded verbatim into `MapProvider#mount`'s
|
|
360
|
+
* `MapInitOptions`. Read only at mount time for the mount itself -- not
|
|
361
|
+
* reactive (see the mount effect's comment). Also read (reactively, on
|
|
362
|
+
* every render) by the auto-fit effect: supplying `center` opts OUT of
|
|
363
|
+
* auto-fit entirely, on the theory that an explicit initial view is a
|
|
364
|
+
* deliberate choice the library should never override -- see the class
|
|
365
|
+
* doc comment's "Auto-fit" section.
|
|
366
|
+
*/
|
|
367
|
+
center?: LatLng;
|
|
368
|
+
/** Initial zoom level, forwarded verbatim into `MapProvider#mount`'s `MapInitOptions`. Read only at mount time -- not reactive. */
|
|
369
|
+
zoom?: number;
|
|
370
|
+
/**
|
|
371
|
+
* Rendered centered inside the map container when no `MapProvider` is
|
|
372
|
+
* configured (`engine.map` is `undefined`), instead of an empty div.
|
|
373
|
+
* Optional -- omit to keep the previous silent-empty behavior. Has no
|
|
374
|
+
* effect once a provider IS configured: the container is left untouched
|
|
375
|
+
* for the provider to mount into.
|
|
376
|
+
*/
|
|
377
|
+
fallback?: ReactNode;
|
|
378
|
+
}
|
|
379
|
+
/**
|
|
380
|
+
* Structure-only map mount point.
|
|
381
|
+
*
|
|
382
|
+
* - Renders a single ref'd `<div>` container. If `engine.map` is undefined
|
|
383
|
+
* (no `MapProvider` configured), that's the entire output -- no mount is
|
|
384
|
+
* attempted and nothing crashes.
|
|
385
|
+
* - Layer effect (declared FIRST): reacting to `state.points`/`state.layers`,
|
|
386
|
+
* re-renders one `RenderedLayer` per dataset id present in `state.points`
|
|
387
|
+
* that is visible (`state.layers[id] !== false`, the same default-visible
|
|
388
|
+
* rule as `DatasetRegistry.visibleIds()`), looking up each dataset's
|
|
389
|
+
* `MarkerRenderer` via `engine.datasets.get(id)` (see the Step 0 note on
|
|
390
|
+
* `ListingEngine.datasets` in the task report). Each marker's click routes
|
|
391
|
+
* to `engine.selectPoint(datasetId, markerId)`.
|
|
392
|
+
* - Mount effect (declared SECOND): awaits `provider.mount(container, {
|
|
393
|
+
* center, zoom })`, stashes the resulting `MapHandle` in a ref, and wires
|
|
394
|
+
* `provider.onBoundsChange(handle, b => engine.loadPoints(b))`. Cleanup
|
|
395
|
+
* unsubscribes bounds and calls `provider.destroy(handle)`. Also kicks a
|
|
396
|
+
* one-time, unbounded `engine.loadPoints(WORLD_BOUNDS)` right after the
|
|
397
|
+
* handle is ready -- see "Auto-fit" below for why.
|
|
398
|
+
* - Auto-fit effect (declared THIRD): frames the map to its own data, once,
|
|
399
|
+
* the first time there is data to frame -- see "Auto-fit" below.
|
|
400
|
+
*
|
|
401
|
+
* ## Auto-fit
|
|
402
|
+
*
|
|
403
|
+
* The turnkey default: without an explicit `center`, a freshly-mounted map
|
|
404
|
+
* has nothing to show it where the data is (a real `MapProvider` defaults
|
|
405
|
+
* its own center/zoom when none is given -- see e.g. `googleProvider`'s
|
|
406
|
+
* `center: opts.center ?? { lat: 0, lng: 0 }`, which is open ocean for most
|
|
407
|
+
* datasets). Two mechanisms fix this together:
|
|
408
|
+
*
|
|
409
|
+
* 1. INITIAL LOAD: the mount effect fires `engine.loadPoints(WORLD_BOUNDS)`
|
|
410
|
+
* once, right after the handle is ready, so there is data in
|
|
411
|
+
* `state.points` even though the map hasn't panned (and therefore never
|
|
412
|
+
* fired its own bounds-changed event) yet. `WORLD_BOUNDS` is a
|
|
413
|
+
* "give me everything" box -- every bounds-contains-filter adapter
|
|
414
|
+
* (the in-memory/mock ones, and any real backend implementing the same
|
|
415
|
+
* contract) returns its full row set for it.
|
|
416
|
+
* 2. AUTO-FIT: a separate effect watches `state.points`/`state.layers`; the
|
|
417
|
+
* first time the union of all VISIBLE layers' points is non-empty, it
|
|
418
|
+
* computes a padded bounding box (`computePointsBounds`) and calls
|
|
419
|
+
* `provider.fitBounds(handle, bbox)` -- once, ever, per mounted
|
|
420
|
+
* component instance (`didAutoFitRef`). Skipped entirely when the caller
|
|
421
|
+
* passed an explicit `center` prop: that is read as "I already chose my
|
|
422
|
+
* initial view, never override it" (checked reactively on every run of
|
|
423
|
+
* this effect, unlike the mount effect's one-time-at-mount read of the
|
|
424
|
+
* same prop).
|
|
425
|
+
*
|
|
426
|
+
* USER-PAN GUARD: auto-fit must never fight a user who has already panned
|
|
427
|
+
* the map before their data loaded. `userMovedRef` tracks that: any
|
|
428
|
+
* bounds-changed event NOT caused by our own `fitBounds()` call sets it, and
|
|
429
|
+
* the auto-fit effect bails out early if it's set. To tell those apart,
|
|
430
|
+
* `autoFitInProgressRef` is set to `true` immediately before calling
|
|
431
|
+
* `fitBounds()`; the next bounds-changed event to arrive consumes it
|
|
432
|
+
* (cleared, `userMovedRef` left untouched) instead of marking a user pan.
|
|
433
|
+
* `didAutoFitRef` (checked first) already makes "at most once" absolute, so
|
|
434
|
+
* `userMovedRef`'s only real job is gating the FIRST attempt: a user who
|
|
435
|
+
* pans away before the initial load ever resolves is respected, and
|
|
436
|
+
* auto-fit never yanks the view back. Known, deliberately accepted
|
|
437
|
+
* limitation: a map SDK that fires its own bounds-changed event on initial
|
|
438
|
+
* settle (e.g. Google Maps' first `idle`, unrelated to any `fitBounds()`
|
|
439
|
+
* call) before the initial points load resolves will be misread as a user
|
|
440
|
+
* pan and suppress that first auto-fit -- special-casing "the first
|
|
441
|
+
* bounds-changed event is always free" was considered and rejected, because
|
|
442
|
+
* it trades this rare false negative for the worse failure mode of
|
|
443
|
+
* mistaking a genuine early user pan for that initial settle and overriding
|
|
444
|
+
* it.
|
|
445
|
+
*
|
|
446
|
+
* Effect declaration order matters here: React runs cleanup functions in the
|
|
447
|
+
* same order the effects were declared (top to bottom), so on final unmount
|
|
448
|
+
* the layer effect's cleanup (unsubscribing each rendered layer) MUST run
|
|
449
|
+
* before the mount effect's cleanup (`provider.destroy(handle)`) -- a real
|
|
450
|
+
* map SDK adapter can throw when a layer/listener is removed from a map that
|
|
451
|
+
* has already been torn down. Declaring the layer effect first is safe on
|
|
452
|
+
* initial mount too: its `if (!handle) return` guard makes it a no-op until
|
|
453
|
+
* the mount effect flips `ready` after `provider.mount()` resolves, so mount
|
|
454
|
+
* behavior is unchanged by the reorder -- only unmount cleanup order changes.
|
|
455
|
+
*
|
|
456
|
+
* Async mount + React Strict Mode safety: `provider.mount()` can be async, so
|
|
457
|
+
* Strict Mode's dev-only mount -> cleanup -> mount double-invoke can tear the
|
|
458
|
+
* effect down while the first `mount()` call is still in flight. A per-run
|
|
459
|
+
* `cancelled` flag (closed over by the async IIFE) is checked the instant the
|
|
460
|
+
* mount promise resolves: if the effect was already cleaned up by then, the
|
|
461
|
+
* now-orphaned handle is destroyed immediately (and never gets a bounds
|
|
462
|
+
* subscription registered in the first place) instead of leaking a live map
|
|
463
|
+
* instance that nothing in the component tree references anymore.
|
|
464
|
+
*
|
|
465
|
+
* Deliberately out of scope for this task (documented future enhancements):
|
|
466
|
+
* rendering the injected `Marker`/`Popup` React components INTO map markers
|
|
467
|
+
* via portals -- only `iconUrl` + `onMarkerClick` -> `selectPoint` is wired;
|
|
468
|
+
* and rendering the injected `Popup` for `state.selection` as an overlay
|
|
469
|
+
* beside the map.
|
|
470
|
+
*
|
|
471
|
+
* `fallback`: when `engine.map` is `undefined` (no `MapProvider` configured),
|
|
472
|
+
* `fallback` renders centered inside the same ref'd container instead of an
|
|
473
|
+
* empty div. The mount/layer effects both already no-op without a `provider`
|
|
474
|
+
* (see their guards below), so swapping in `fallback` content here is purely
|
|
475
|
+
* a render-output change -- it does not touch the mount lifecycle.
|
|
476
|
+
*/
|
|
477
|
+
declare function ListingMap(props: IListingMapProps): react.JSX.Element;
|
|
478
|
+
|
|
479
|
+
/**
|
|
480
|
+
* Structure-only "Load more" control. Disabled when there is no next page
|
|
481
|
+
* (`results.nextCursor == null`) or a query is already in flight
|
|
482
|
+
* (`pagination.loading`); otherwise calls `engine.loadPage()`.
|
|
483
|
+
*
|
|
484
|
+
* Renders a plain `<button>` rather than an injected component: `useListingComponents()`
|
|
485
|
+
* (`IListingComponents`) has no `Button` slot yet, so there is nothing to
|
|
486
|
+
* delegate to here. Wiring this up to a real Button slot (and to the shadcn
|
|
487
|
+
* adapter's styled Button) is a documented future enhancement once that slot
|
|
488
|
+
* exists.
|
|
489
|
+
*/
|
|
490
|
+
declare function ListingPagination(): react.JSX.Element;
|
|
491
|
+
|
|
492
|
+
/** Structure-only result count header: `{ items, total }` from `useListingResults()` piped into the injected `ResultHeader`. */
|
|
493
|
+
declare function ListingResultHeader(): react.JSX.Element;
|
|
494
|
+
|
|
495
|
+
/**
|
|
496
|
+
* Structure-only toolbar wrapper: forwards `children` into the injected
|
|
497
|
+
* `Toolbar` slot. Reuses `IListingToolbarProps` from `components-provider`
|
|
498
|
+
* (rather than declaring a duplicate local interface) since this component's
|
|
499
|
+
* own props are identical in shape to the slot it wraps -- both are just
|
|
500
|
+
* `{ children?: ReactNode }`.
|
|
501
|
+
*/
|
|
502
|
+
declare function ListingToolbar({ children }: IListingToolbarProps): react.JSX.Element;
|
|
503
|
+
|
|
504
|
+
/**
|
|
505
|
+
* React context exposing the active `ListingEngine` instance to descendants.
|
|
506
|
+
* `null` outside a `<ListingProvider>` (and during its pre-boot render tick).
|
|
507
|
+
* Parameterized `<unknown, unknown>` because the context is entity/filters
|
|
508
|
+
* -erased at this layer — a future `useListingEngine<TEntity, TFilters>()`
|
|
509
|
+
* hook casts back to the caller-supplied types, same shape as
|
|
510
|
+
* `react-wizard-engine`'s `WizardEngineContext`.
|
|
511
|
+
*/
|
|
512
|
+
declare const ListingEngineContext: react.Context<ListingEngine<unknown, unknown> | null>;
|
|
513
|
+
|
|
514
|
+
/**
|
|
515
|
+
* Returns the active `ListingEngine` from `ListingEngineContext`. Throws
|
|
516
|
+
* (rather than returning `null`) when rendered outside a `<ListingProvider>`
|
|
517
|
+
* so every other hook in this folder can build on it without a null-check on
|
|
518
|
+
* every call.
|
|
519
|
+
*
|
|
520
|
+
* The context itself is entity/filters-erased (`ListingEngine<unknown,
|
|
521
|
+
* unknown>` — see `context.ts`'s docstring); the generics here are an
|
|
522
|
+
* UNCHECKED cast back to the caller-supplied shape, not a runtime guarantee.
|
|
523
|
+
*/
|
|
524
|
+
declare function useListing<TEntity = unknown, TFilters = unknown>(): ListingEngine<TEntity, TFilters>;
|
|
525
|
+
|
|
526
|
+
/**
|
|
527
|
+
* Subscribes to the engine's store via `useSyncExternalStore`.
|
|
528
|
+
*
|
|
529
|
+
* Snapshot stability: `engine.state` (→ `ListingStore.getState()`) returns
|
|
530
|
+
* the exact SAME frozen object reference until the next mutation (see
|
|
531
|
+
* `freezeState`/`setState` in `listing-store.ts`) — it is never rebuilt on
|
|
532
|
+
* read. That is what makes this snapshot-stable: `useSyncExternalStore`
|
|
533
|
+
* compares successive `getSnapshot()` results with `Object.is`, and an
|
|
534
|
+
* implementation that wrapped `engine.state` in a fresh object here would
|
|
535
|
+
* fail that check on every render and either warn ("The result of
|
|
536
|
+
* getSnapshot should be cached") or tear/loop. Do NOT wrap the return value.
|
|
537
|
+
*
|
|
538
|
+
* `this` binding: `ListingEngine#subscribe` and the `state` getter are
|
|
539
|
+
* ordinary prototype members, not arrow-bound class fields, so handing
|
|
540
|
+
* `engine.subscribe` to `useSyncExternalStore` bare would detach it from
|
|
541
|
+
* `engine` — React calls it as a plain function, not as `engine.subscribe(...)`,
|
|
542
|
+
* so `this` would be `undefined` inside and it throws on the very first
|
|
543
|
+
* subscribe. Wrapping both `subscribe` and `getSnapshot` in `useCallback`
|
|
544
|
+
* closures re-binds `this` to `engine` via the closure AND keeps the function
|
|
545
|
+
* references stable across re-renders (they only change if `engine` itself
|
|
546
|
+
* changes, i.e. on provider remount) — avoiding needless resubscribes.
|
|
547
|
+
*/
|
|
548
|
+
declare function useListingState<TEntity = unknown, TFilters = unknown>(): {
|
|
549
|
+
readonly filters: TFilters extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly /*elided*/ any[] : T extends object ? { readonly [K_2 in keyof T]: /*elided*/ any; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : TFilters extends object ? { readonly [K_1 in keyof TFilters]: TFilters[K_1] extends infer T ? T extends TFilters[K_1] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_8 ? T_8 extends U[K] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (infer U)[] ? readonly /*elided*/ any[] : T_9 extends object ? /*elided*/ any : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : TFilters;
|
|
550
|
+
readonly results: {
|
|
551
|
+
readonly items: readonly (TEntity extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? /*elided*/ any : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly /*elided*/ any[] : T extends object ? { readonly [K_3 in keyof T]: /*elided*/ any; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : TEntity extends object ? { readonly [K_2 in keyof TEntity]: TEntity[K_2] extends infer T ? T extends TEntity[K_2] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : T extends object ? { readonly [K_4 in keyof T]: T[K_4] extends infer T_1 ? T_1 extends T[K_4] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : T_1 extends object ? { readonly [K_5 in keyof T_1]: T_1[K_5] extends infer T_2 ? T_2 extends T_1[K_5] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : T_2 extends object ? { readonly [K_6 in keyof T_2]: T_2[K_6] extends infer T_3 ? T_3 extends T_2[K_6] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : T_3 extends object ? { readonly [K_7 in keyof T_3]: T_3[K_7] extends infer T_4 ? T_4 extends T_3[K_7] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : T_4 extends object ? { readonly [K_8 in keyof T_4]: T_4[K_8] extends infer T_5 ? T_5 extends T_4[K_8] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : T_5 extends object ? { readonly [K_9 in keyof T_5]: T_5[K_9] extends infer T_6 ? T_6 extends T_5[K_9] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : U)[] : T_6 extends object ? { readonly [K_10 in keyof T_6]: T_6[K_10] extends infer T_7 ? T_7 extends T_6[K_10] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_8 ? T_8 extends U[K] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : U)[] : T_7 extends object ? { readonly [K_11 in keyof T_7]: T_7[K_11] extends infer T_8 ? T_8 extends T_7[K_11] ? T_8 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_8 extends object ? /*elided*/ any : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : TEntity)[];
|
|
552
|
+
readonly nextCursor: string | null;
|
|
553
|
+
readonly total?: number | undefined;
|
|
554
|
+
};
|
|
555
|
+
readonly bounds: {
|
|
556
|
+
readonly west: number;
|
|
557
|
+
readonly south: number;
|
|
558
|
+
readonly east: number;
|
|
559
|
+
readonly north: number;
|
|
560
|
+
} | null;
|
|
561
|
+
readonly selection: EntityId | null;
|
|
562
|
+
readonly pagination: {
|
|
563
|
+
readonly mode: PaginationMode;
|
|
564
|
+
readonly loading: boolean;
|
|
565
|
+
};
|
|
566
|
+
readonly layers: {
|
|
567
|
+
readonly [x: string]: boolean;
|
|
568
|
+
};
|
|
569
|
+
readonly points: {
|
|
570
|
+
readonly [x: string]: readonly {
|
|
571
|
+
readonly id: EntityId;
|
|
572
|
+
readonly position: {
|
|
573
|
+
readonly lat: number;
|
|
574
|
+
readonly lng: number;
|
|
575
|
+
};
|
|
576
|
+
readonly entity: unknown;
|
|
577
|
+
}[];
|
|
578
|
+
};
|
|
579
|
+
};
|
|
580
|
+
|
|
581
|
+
/** Convenience slice of `useListingState()` — just the paginated results. */
|
|
582
|
+
declare function useListingResults<TEntity = unknown, TFilters = unknown>(): {
|
|
583
|
+
readonly items: readonly (TEntity extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? /*elided*/ any : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly /*elided*/ any[] : T extends object ? { readonly [K_2 in keyof T]: /*elided*/ any; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : TEntity extends object ? { readonly [K_1 in keyof TEntity]: TEntity[K_1] extends infer T ? T extends TEntity[K_1] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_8 ? T_8 extends U[K] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (infer U)[] ? readonly /*elided*/ any[] : T_9 extends object ? /*elided*/ any : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : TEntity)[];
|
|
584
|
+
readonly nextCursor: string | null;
|
|
585
|
+
readonly total?: number | undefined;
|
|
586
|
+
};
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Current filters plus two ways to mutate them, both proxying to
|
|
590
|
+
* `engine.applyFilters`: `set` for a bulk `Partial<TFilters>` patch,
|
|
591
|
+
* `setField` for a single key/value pair. Both are wrapped in `useCallback`
|
|
592
|
+
* with `[engine]` as the only dependency, so their identity is stable across
|
|
593
|
+
* re-renders (including ones triggered by filter/result changes) — a
|
|
594
|
+
* consumer can safely pass `setField` into a memoized child or an effect
|
|
595
|
+
* dependency array without it re-firing on every render.
|
|
596
|
+
*/
|
|
597
|
+
declare function useListingFilters<TFilters = unknown>(): {
|
|
598
|
+
filters: TFilters extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly /*elided*/ any[] : T extends object ? { readonly [K_2 in keyof T]: /*elided*/ any; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T ? T extends U[K] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T extends object ? { readonly [K_2 in keyof T]: T[K_2] extends infer T_1 ? T_1 extends T[K_2] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : U)[] : TFilters extends object ? { readonly [K_1 in keyof TFilters]: TFilters[K_1] extends infer T ? T extends TFilters[K_1] ? T extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly /*elided*/ any[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: /*elided*/ any; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_1 ? T_1 extends U[K] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_1 extends object ? { readonly [K_3 in keyof T_1]: T_1[K_3] extends infer T_2 ? T_2 extends T_1[K_3] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : U)[] : T extends object ? { readonly [K_3 in keyof T]: T[K_3] extends infer T_1 ? T_1 extends T[K_3] ? T_1 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly /*elided*/ any[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: /*elided*/ any; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_2 ? T_2 extends U[K] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_2 extends object ? { readonly [K_4 in keyof T_2]: T_2[K_4] extends infer T_3 ? T_3 extends T_2[K_4] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : U)[] : T_1 extends object ? { readonly [K_4 in keyof T_1]: T_1[K_4] extends infer T_2 ? T_2 extends T_1[K_4] ? T_2 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly /*elided*/ any[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: /*elided*/ any; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_3 ? T_3 extends U[K] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_3 extends object ? { readonly [K_5 in keyof T_3]: T_3[K_5] extends infer T_4 ? T_4 extends T_3[K_5] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : U)[] : T_2 extends object ? { readonly [K_5 in keyof T_2]: T_2[K_5] extends infer T_3 ? T_3 extends T_2[K_5] ? T_3 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly /*elided*/ any[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: /*elided*/ any; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_4 ? T_4 extends U[K] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_4 extends object ? { readonly [K_6 in keyof T_4]: T_4[K_6] extends infer T_5 ? T_5 extends T_4[K_6] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : U)[] : T_3 extends object ? { readonly [K_6 in keyof T_3]: T_3[K_6] extends infer T_4 ? T_4 extends T_3[K_6] ? T_4 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly /*elided*/ any[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: /*elided*/ any; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_5 ? T_5 extends U[K] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_5 extends object ? { readonly [K_7 in keyof T_5]: T_5[K_7] extends infer T_6 ? T_6 extends T_5[K_7] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : U)[] : T_4 extends object ? { readonly [K_7 in keyof T_4]: T_4[K_7] extends infer T_5 ? T_5 extends T_4[K_7] ? T_5 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly /*elided*/ any[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: /*elided*/ any; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_6 ? T_6 extends U[K] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : U extends object ? /*elided*/ any : U)[] : T_6 extends object ? { readonly [K_8 in keyof T_6]: T_6[K_8] extends infer T_7 ? T_7 extends T_6[K_8] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : U)[] : T_5 extends object ? { readonly [K_8 in keyof T_5]: T_5[K_8] extends infer T_6 ? T_6 extends T_5[K_8] ? T_6 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly /*elided*/ any[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: /*elided*/ any; } : T_7 : never : never; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_7 ? T_7 extends U[K] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? /*elided*/ any : U)[] : T_7 extends object ? { readonly [K_9 in keyof T_7]: T_7[K_9] extends infer T_8 ? T_8 extends T_7[K_9] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : T_7 : never : never; } : U)[] : T_6 extends object ? { readonly [K_9 in keyof T_6]: T_6[K_9] extends infer T_7 ? T_7 extends T_6[K_9] ? T_7 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : U extends object ? { readonly [K in keyof U]: U[K] extends infer T_8 ? T_8 extends U[K] ? T_8 extends (infer U)[] ? readonly /*elided*/ any[] : T_8 extends object ? { readonly [K_10 in keyof T_8]: /*elided*/ any; } : T_8 : never : never; } : U)[] : T_7 extends object ? { readonly [K_10 in keyof T_7]: T_7[K_10] extends infer T_8 ? T_8 extends T_7[K_10] ? T_8 extends (infer U)[] ? readonly (U extends (infer U)[] ? readonly /*elided*/ any[] : U extends object ? { readonly [K in keyof U]: /*elided*/ any; } : U)[] : T_8 extends object ? { readonly [K_11 in keyof T_8]: T_8[K_11] extends infer T_9 ? T_9 extends T_8[K_11] ? T_9 extends (infer U)[] ? readonly /*elided*/ any[] : T_9 extends object ? { readonly [K_12 in keyof T_9]: /*elided*/ any; } : T_9 : never : never; } : T_8 : never : never; } : T_7 : never : never; } : T_6 : never : never; } : T_5 : never : never; } : T_4 : never : never; } : T_3 : never : never; } : T_2 : never : never; } : T_1 : never : never; } : T : never : never; } : TFilters;
|
|
599
|
+
set: (patch: Partial<TFilters>) => Promise<void>;
|
|
600
|
+
setField: <K_2 extends keyof TFilters>(key: K_2, value: TFilters[K_2]) => Promise<void>;
|
|
601
|
+
};
|
|
602
|
+
|
|
603
|
+
/** Map-facing slice of listing state (bounds, per-dataset points) plus the two engine actions that drive them. */
|
|
604
|
+
declare function useListingMap(): {
|
|
605
|
+
bounds: {
|
|
606
|
+
readonly west: number;
|
|
607
|
+
readonly south: number;
|
|
608
|
+
readonly east: number;
|
|
609
|
+
readonly north: number;
|
|
610
|
+
} | null;
|
|
611
|
+
points: {
|
|
612
|
+
readonly [x: string]: readonly {
|
|
613
|
+
readonly id: EntityId;
|
|
614
|
+
readonly position: {
|
|
615
|
+
readonly lat: number;
|
|
616
|
+
readonly lng: number;
|
|
617
|
+
};
|
|
618
|
+
readonly entity: unknown;
|
|
619
|
+
}[];
|
|
620
|
+
};
|
|
621
|
+
loadPoints: (bounds: Bounds) => Promise<void>;
|
|
622
|
+
selectPoint: (datasetId: string, id: EntityId) => void;
|
|
623
|
+
};
|
|
624
|
+
|
|
625
|
+
/**
|
|
626
|
+
* Per-dataset layer slice: visibility (default-visible, mirroring
|
|
627
|
+
* `DatasetRegistry.visibleIds()`'s `!== false` rule), that layer's current
|
|
628
|
+
* points, and a `toggle()` bound to the given `id`.
|
|
629
|
+
*/
|
|
630
|
+
declare function useListingLayer(id: string): {
|
|
631
|
+
visible: boolean;
|
|
632
|
+
points: readonly {
|
|
633
|
+
readonly id: EntityId;
|
|
634
|
+
readonly position: {
|
|
635
|
+
readonly lat: number;
|
|
636
|
+
readonly lng: number;
|
|
637
|
+
};
|
|
638
|
+
readonly entity: unknown;
|
|
639
|
+
}[];
|
|
640
|
+
toggle: () => void;
|
|
641
|
+
};
|
|
642
|
+
|
|
643
|
+
/**
|
|
644
|
+
* Subscribes to `engine.on(type, ...)` for the lifetime of the component.
|
|
645
|
+
* `handler` is stashed in a ref and refreshed on every render (a plain
|
|
646
|
+
* during-render assignment, not inside the effect), so the subscription
|
|
647
|
+
* always invokes the LATEST closure — but the `useEffect` dependency array is
|
|
648
|
+
* `[engine, type]` only, so a changing `handler` identity (e.g. a new inline
|
|
649
|
+
* closure every render) never tears down and re-subscribes the listener.
|
|
650
|
+
*/
|
|
651
|
+
declare function useListingEvent(type: ListingEventType | '*', handler: (e: ListingEvent) => void): void;
|
|
652
|
+
|
|
653
|
+
interface IListingProviderComponentProps<TFilters> extends IListingProviderProps<TFilters> {
|
|
654
|
+
children: ReactNode;
|
|
655
|
+
}
|
|
656
|
+
/**
|
|
657
|
+
* Top-level listing provider. Captures the composed boot props once via lazy
|
|
658
|
+
* `useState`, then constructs a fresh `ListingEngine` inside an effect so
|
|
659
|
+
* React Strict Mode's mount/unmount/remount cycle never leaves a permanently
|
|
660
|
+
* disposed engine sitting in context — the effect runs again on remount and
|
|
661
|
+
* produces a brand-new engine rather than reusing the disposed one. Any
|
|
662
|
+
* `urlSync` controller is started against the freshly built engine and
|
|
663
|
+
* stopped on cleanup, alongside `engine.dispose()`.
|
|
664
|
+
*
|
|
665
|
+
* Idiomatic shape:
|
|
666
|
+
* ```tsx
|
|
667
|
+
* <ListingProvider {...composeListingProviders(withDataset(...))}>
|
|
668
|
+
* <ListingLayout />
|
|
669
|
+
* </ListingProvider>
|
|
670
|
+
* ```
|
|
671
|
+
*/
|
|
672
|
+
declare function ListingProvider<TEntity, TFilters>(props: IListingProviderComponentProps<TFilters>): react.JSX.Element | null;
|
|
673
|
+
|
|
674
|
+
export { Bounds, BrowserHistoryPort, type BrowserHistoryPortOptions, DatasetDefinition, DatasetRegistry, EntityId, FilterRegistry, HistoryPort, IListingConfigOptions, type IListingFiltersProps, type IListingMapProps, type IListingProviderProps, IListingToolbarProps, LatLng, ListingConfig, ListingEngine, ListingEngineContext, type ListingEngineOptions, type ListingEvent, ListingEventType, ListingFilters, ListingList, ListingMap, ListingPagination, ListingProvider, type ListingProviderMod, ListingResultHeader, type ListingState, ListingStore, type ListingStoreInit, ListingToolbar, MapPoint, MapProvider, MemoryHistoryPort, Page, PaginationMode, QueryParams, TypedEmitter, Unsubscribe, UrlSyncController, composeListingProviders, listingDefaultConfig, useListing, useListingEvent, useListingFilters, useListingLayer, useListingMap, useListingResults, useListingState, withConfig, withDataset, withFilters, withInitialFilters, withMap, withPrimaryDataset, withUrlSync };
|