@goodie-forms/core 1.0.0-alpha → 1.1.1-alpha
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/index.js +757 -646
- package/dist/index.js.map +1 -1
- package/dist/src/form/CustomValidation.d.ts +10 -0
- package/dist/src/form/CustomValidation.d.ts.map +1 -0
- package/dist/src/form/Field.d.ts +31 -0
- package/dist/src/form/Field.d.ts.map +1 -0
- package/dist/src/form/FormController.d.ts +68 -0
- package/dist/src/form/FormController.d.ts.map +1 -0
- package/dist/{form → src/form}/FormField.d.ts +6 -3
- package/dist/src/form/FormField.d.ts.map +1 -0
- package/dist/src/form/NonullFormField.d.ts +10 -0
- package/dist/src/form/NonullFormField.d.ts.map +1 -0
- package/dist/src/index.d.ts +6 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/types/DeepPartial.d.ts +6 -0
- package/dist/src/types/DeepPartial.d.ts.map +1 -0
- package/dist/src/types/Mixin.d.ts +2 -0
- package/dist/src/types/Mixin.d.ts.map +1 -0
- package/dist/src/utils/ensureImmerability.d.ts +2 -0
- package/dist/src/utils/ensureImmerability.d.ts.map +1 -0
- package/dist/src/utils/getId.d.ts.map +1 -0
- package/dist/src/utils/removeBy.d.ts.map +1 -0
- package/dist/test/test1.d.ts +2 -0
- package/dist/test/test1.d.ts.map +1 -0
- package/package.json +27 -27
- package/src/form/CustomValidation.ts +52 -0
- package/src/form/Field.ts +334 -194
- package/src/form/FormController.ts +310 -290
- package/src/form/FormField.ts +202 -199
- package/src/form/NonullFormField.ts +21 -0
- package/src/index.ts +5 -3
- package/src/types/DeepPartial.ts +7 -3
- package/src/types/Mixin.ts +2 -0
- package/src/utils/ensureImmerability.ts +30 -0
- package/src/utils/getId.ts +5 -5
- package/src/utils/removeBy.ts +11 -11
- package/test/test1.ts +52 -0
- package/tsconfig.json +7 -7
- package/vite.config.ts +18 -18
- package/dist/form/Field.d.ts +0 -17
- package/dist/form/Field.d.ts.map +0 -1
- package/dist/form/FormController.d.ts +0 -62
- package/dist/form/FormController.d.ts.map +0 -1
- package/dist/form/FormField.d.ts.map +0 -1
- package/dist/index.d.ts +0 -4
- package/dist/index.d.ts.map +0 -1
- package/dist/types/DeepPartial.d.ts +0 -4
- package/dist/types/DeepPartial.d.ts.map +0 -1
- package/dist/utils/getId.d.ts.map +0 -1
- package/dist/utils/removeBy.d.ts.map +0 -1
- /package/dist/{utils → src/utils}/getId.d.ts +0 -0
- /package/dist/{utils → src/utils}/removeBy.d.ts +0 -0
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
import { StandardSchemaV1 } from '@standard-schema/spec';
|
|
2
|
+
import { Field } from '../form/Field';
|
|
3
|
+
import { DeepPartial } from '../types/DeepPartial';
|
|
4
|
+
import { FormField } from './FormField';
|
|
5
|
+
export declare namespace Form {
|
|
6
|
+
type FormConfigs<TShape extends object> = ConstructorParameters<typeof FormController<TShape>>[0];
|
|
7
|
+
interface PreventableEvent {
|
|
8
|
+
preventDefault(): void;
|
|
9
|
+
}
|
|
10
|
+
type SubmitSuccessHandler<TShape extends object, TEvent extends PreventableEvent> = (data: TShape, event: TEvent, abortSignal: AbortSignal) => void | Promise<void>;
|
|
11
|
+
type SubmitErrorHandler<TEvent extends PreventableEvent> = (issues: StandardSchemaV1.Issue[], event: TEvent, abortSignal: AbortSignal) => void | Promise<void>;
|
|
12
|
+
}
|
|
13
|
+
export declare class FormController<TShape extends object> {
|
|
14
|
+
_isValidating: boolean;
|
|
15
|
+
_isSubmitting: boolean;
|
|
16
|
+
_fields: Map<{ [K in keyof TShape & string]: NonNullable<TShape[K]> extends (...args: any[]) => any ? never : NonNullable<TShape[K]> extends (infer U)[] ? U extends object ? K | `${K}[*]` | `${K}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_3 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]}` : K_3; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K | `${K}[*]` : NonNullable<TShape[K]> extends object ? K | `${K}.${{ [K_3 in keyof NonNullable<TShape[K]> & string]: NonNullable<NonNullable<TShape[K]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<TShape[K]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_4 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<TShape[K]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_5 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_6 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_7 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_8 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_9 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_10 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_11 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${/*elided*/ any[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${{ [K_12 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (infer U)[] ? U extends object ? K_12 | `${K_12}[*]` | `${K_12}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_12 | `${K_12}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends object ? K_12 | `${K_12}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> & string]}` : K_12; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]}` : K_3; }[keyof NonNullable<TShape[K]> & string]}` : K; }[keyof TShape & string] extends infer T ? T extends { [K in keyof TShape & string]: NonNullable<TShape[K]> extends (...args: any[]) => any ? never : NonNullable<TShape[K]> extends (infer U)[] ? U extends object ? K | `${K}[*]` | `${K}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_3 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]}` : K_3; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K | `${K}[*]` : NonNullable<TShape[K]> extends object ? K | `${K}.${{ [K_3 in keyof NonNullable<TShape[K]> & string]: NonNullable<NonNullable<TShape[K]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<TShape[K]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_4 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<TShape[K]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_5 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_6 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_7 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_8 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_9 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_10 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_11 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${/*elided*/ any[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${{ [K_12 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (infer U)[] ? U extends object ? K_12 | `${K_12}[*]` | `${K_12}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_12 | `${K_12}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends object ? K_12 | `${K_12}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> & string]}` : K_12; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]}` : K_3; }[keyof NonNullable<TShape[K]> & string]}` : K; }[keyof TShape & string] ? T extends string ? T extends `${string}[*]${string}` ? (T extends infer T_1 ? T_1 extends T ? T_1 extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${/*elided*/ any}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : T_1 : never : never) | ((T extends infer T_2 ? T_2 extends T ? T_2 extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${/*elided*/ any}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : T_2 : never : never) & {
|
|
17
|
+
_____foldMark?: never;
|
|
18
|
+
}) : T : never : never : never, FormField<TShape, any>>;
|
|
19
|
+
_initialData: DeepPartial<TShape>;
|
|
20
|
+
_data: DeepPartial<TShape>;
|
|
21
|
+
_issues: StandardSchemaV1.Issue[];
|
|
22
|
+
equalityComparators?: Record<any, (a: any, b: any) => boolean>;
|
|
23
|
+
validationSchema?: StandardSchemaV1<unknown, TShape>;
|
|
24
|
+
readonly events: import('nanoevents').Emitter<{
|
|
25
|
+
submissionStatusChange(isSubmitting: boolean): void;
|
|
26
|
+
validationStatusChange(isValidating: boolean): void;
|
|
27
|
+
fieldBound(fieldPath: Field.Paths<TShape>): void;
|
|
28
|
+
fieldUnbound(fieldPath: Field.Paths<TShape>): void;
|
|
29
|
+
fieldTouchUpdated(path: Field.Paths<TShape>): void;
|
|
30
|
+
fieldDirtyUpdated(path: Field.Paths<TShape>): void;
|
|
31
|
+
fieldIssuesUpdated(fieldPath: Field.Paths<TShape>): void;
|
|
32
|
+
elementBound(fieldPath: Field.Paths<TShape>, el: HTMLElement): void;
|
|
33
|
+
elementUnbound(fieldPath: Field.Paths<TShape>): void;
|
|
34
|
+
validationTriggered(fieldPath: Field.Paths<TShape>): void;
|
|
35
|
+
valueChanged(fieldPath: Field.Paths<TShape>, newValue: Field.GetValue<TShape, Field.Paths<TShape>> | undefined, oldValue: Field.GetValue<TShape, Field.Paths<TShape>> | undefined): void;
|
|
36
|
+
}>;
|
|
37
|
+
constructor(config: {
|
|
38
|
+
initialData?: DeepPartial<TShape>;
|
|
39
|
+
validationSchema?: StandardSchemaV1<unknown, TShape>;
|
|
40
|
+
equalityComparators?: Record<any, (a: any, b: any) => boolean>;
|
|
41
|
+
});
|
|
42
|
+
get isDirty(): boolean;
|
|
43
|
+
get isValid(): boolean;
|
|
44
|
+
get isValidating(): boolean;
|
|
45
|
+
get isSubmitting(): boolean;
|
|
46
|
+
protected setValidating(newStatus: boolean): void;
|
|
47
|
+
protected setSubmitting(newStatus: boolean): void;
|
|
48
|
+
_unsafeSetFieldValue<TPath extends Field.Paths<TShape>>(path: TPath, value: Field.GetValue<TShape, TPath>, config?: {
|
|
49
|
+
updateInitialValue?: boolean;
|
|
50
|
+
}): void;
|
|
51
|
+
bindField<TPath extends Field.Paths<TShape>>(path: TPath, config?: {
|
|
52
|
+
defaultValue?: Field.GetValue<TShape, TPath>;
|
|
53
|
+
domElement?: HTMLElement;
|
|
54
|
+
overrideInitialValue?: boolean;
|
|
55
|
+
}): FormField<TShape, TPath>;
|
|
56
|
+
unbindField(path: Field.Paths<TShape>): void;
|
|
57
|
+
reset(newInitialData?: DeepPartial<TShape>): void;
|
|
58
|
+
getAscendantFields<TPath extends Field.Paths<TShape>>(path: TPath): FormField<TShape, { [K in keyof TShape & string]: NonNullable<TShape[K]> extends (...args: any[]) => any ? never : NonNullable<TShape[K]> extends (infer U)[] ? U extends object ? K | `${K}[*]` | `${K}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_3 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]}` : K_3; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K | `${K}[*]` : NonNullable<TShape[K]> extends object ? K | `${K}.${{ [K_3 in keyof NonNullable<TShape[K]> & string]: NonNullable<NonNullable<TShape[K]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<TShape[K]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_4 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<TShape[K]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_5 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_6 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_7 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_8 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_9 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_10 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_11 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${/*elided*/ any[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${{ [K_12 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (infer U)[] ? U extends object ? K_12 | `${K_12}[*]` | `${K_12}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_12 | `${K_12}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends object ? K_12 | `${K_12}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> & string]}` : K_12; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]}` : K_3; }[keyof NonNullable<TShape[K]> & string]}` : K; }[keyof TShape & string] extends infer T ? T extends { [K in keyof TShape & string]: NonNullable<TShape[K]> extends (...args: any[]) => any ? never : NonNullable<TShape[K]> extends (infer U)[] ? U extends object ? K | `${K}[*]` | `${K}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_3 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_3]> & string]}` : K_3; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K | `${K}[*]` : NonNullable<TShape[K]> extends object ? K | `${K}.${{ [K_3 in keyof NonNullable<TShape[K]> & string]: NonNullable<NonNullable<TShape[K]>[K_3]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<TShape[K]>[K_3]> extends (infer U)[] ? U extends object ? K_3 | `${K_3}[*]` | `${K_3}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_4 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_3 | `${K_3}[*]` : NonNullable<NonNullable<TShape[K]>[K_3]> extends object ? K_3 | `${K_3}.${{ [K_4 in keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]: NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends (infer U)[] ? U extends object ? K_4 | `${K_4}[*]` | `${K_4}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_5 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_4 | `${K_4}[*]` : NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> extends object ? K_4 | `${K_4}.${{ [K_5 in keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends (infer U)[] ? U extends object ? K_5 | `${K_5}[*]` | `${K_5}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_6 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_5 | `${K_5}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> extends object ? K_5 | `${K_5}.${{ [K_6 in keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends (infer U)[] ? U extends object ? K_6 | `${K_6}[*]` | `${K_6}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_7 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_6 | `${K_6}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> extends object ? K_6 | `${K_6}.${{ [K_7 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends (infer U)[] ? U extends object ? K_7 | `${K_7}[*]` | `${K_7}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_8 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_7 | `${K_7}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> extends object ? K_7 | `${K_7}.${{ [K_8 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends (infer U)[] ? U extends object ? K_8 | `${K_8}[*]` | `${K_8}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_9 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_8 | `${K_8}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> extends object ? K_8 | `${K_8}.${{ [K_9 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends (infer U)[] ? U extends object ? K_9 | `${K_9}[*]` | `${K_9}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_10 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_9 | `${K_9}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> extends object ? K_9 | `${K_9}.${{ [K_10 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends (infer U)[] ? U extends object ? K_10 | `${K_10}[*]` | `${K_10}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${{ [K_11 in keyof NonNullable<NonNullable<U>[K_2]> & string]: NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> extends object ? K_11 | `${K_11}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<U>[K_2]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_10 | `${K_10}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> extends object ? K_10 | `${K_10}.${{ [K_11 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends (infer U)[] ? U extends object ? K_11 | `${K_11}[*]` | `${K_11}[*].${{ [K_2 in keyof NonNullable<U> & string]: NonNullable<NonNullable<U>[K_2]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<U>[K_2]> extends (infer U)[] ? U extends object ? K_2 | `${K_2}[*]` | `${K_2}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_2 | `${K_2}[*]` : NonNullable<NonNullable<U>[K_2]> extends object ? K_2 | `${K_2}.${/*elided*/ any[keyof NonNullable<NonNullable<U>[K_2]> & string]}` : K_2; }[keyof NonNullable<U> & string]}` : K_11 | `${K_11}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> extends object ? K_11 | `${K_11}.${{ [K_12 in keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]: NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (...args: any[]) => any ? never : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends (infer U)[] ? U extends object ? K_12 | `${K_12}[*]` | `${K_12}[*].${/*elided*/ any[keyof NonNullable<U> & string]}` : K_12 | `${K_12}[*]` : NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> extends object ? K_12 | `${K_12}.${/*elided*/ any[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]>[K_12]> & string]}` : K_12; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]>[K_11]> & string]}` : K_11; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]>[K_10]> & string]}` : K_10; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]>[K_9]> & string]}` : K_9; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]>[K_8]> & string]}` : K_8; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]>[K_7]> & string]}` : K_7; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]>[K_6]> & string]}` : K_6; }[keyof NonNullable<NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]>[K_5]> & string]}` : K_5; }[keyof NonNullable<NonNullable<NonNullable<TShape[K]>[K_3]>[K_4]> & string]}` : K_4; }[keyof NonNullable<NonNullable<TShape[K]>[K_3]> & string]}` : K_3; }[keyof NonNullable<TShape[K]> & string]}` : K; }[keyof TShape & string] ? T extends string ? T extends `${string}[*]${string}` ? (T extends infer T_1 ? T_1 extends T ? T_1 extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${B extends `${infer A}[*]${infer B}` ? `${A}[0]${/*elided*/ any}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : T_1 : never : never) | ((T extends infer T_2 ? T_2 extends T ? T_2 extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${B extends `${infer A}[*]${infer B}` ? `${A}[${number}]${/*elided*/ any}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : B}` : T_2 : never : never) & {
|
|
59
|
+
_____foldMark?: never;
|
|
60
|
+
}) : T : never : never : never>[];
|
|
61
|
+
getField<TPath extends Field.Paths<TShape>>(path: TPath): FormField<TShape, TPath> | undefined;
|
|
62
|
+
clearFieldIssues<TPath extends Field.Paths<TShape>>(path: TPath): void;
|
|
63
|
+
private applyValidation;
|
|
64
|
+
validateField<TPath extends Field.Paths<TShape>>(path: TPath): Promise<void>;
|
|
65
|
+
validateForm(): Promise<void>;
|
|
66
|
+
createSubmitHandler<TEvent extends Form.PreventableEvent>(onSuccess?: Form.SubmitSuccessHandler<TShape, TEvent>, onError?: Form.SubmitErrorHandler<TEvent>): (event: TEvent) => Promise<void>;
|
|
67
|
+
}
|
|
68
|
+
//# sourceMappingURL=FormController.d.ts.map
|