inferred-types 0.54.6 → 0.54.8
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/modules/inferred-types/dist/index.cjs +192 -79
- package/modules/inferred-types/dist/index.cjs.map +1 -1
- package/modules/inferred-types/dist/index.d.ts +466 -117
- package/modules/inferred-types/dist/index.js +186 -79
- package/modules/inferred-types/dist/index.js.map +1 -1
- package/modules/runtime/dist/index.cjs +210 -91
- package/modules/runtime/dist/index.cjs.map +1 -1
- package/modules/runtime/dist/index.d.ts +270 -45
- package/modules/runtime/dist/index.js +204 -91
- package/modules/runtime/dist/index.js.map +1 -1
- package/modules/types/dist/index.cjs.map +1 -1
- package/modules/types/dist/index.d.ts +195 -71
- package/modules/types/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -39,6 +39,27 @@ interface Api<TSurface extends Dictionary | TypedFunction = Dictionary | TypedFu
|
|
|
39
39
|
*/
|
|
40
40
|
type AsApi<TSurface extends Dictionary | TypedFunction> = HasEscapeFunction<TSurface> extends true ? Api<TSurface> : Throw<"no-escape-function">;
|
|
41
41
|
|
|
42
|
+
type Convert$4<TKeys extends readonly (ObjectKey & keyof TObj)[], TObj extends AnyObject, TResult extends AnyObject> = [] extends TKeys ? ExpandDictionary<TResult> : Convert$4<AfterFirst<TKeys>, TObj, TResult & Record<First<TKeys>, <T extends TObj[First<TKeys>]>() => T>>;
|
|
43
|
+
/**
|
|
44
|
+
* **ObjectToApi**`<TObj>`
|
|
45
|
+
*
|
|
46
|
+
* Converts any object `TObj` to an object with:
|
|
47
|
+
*
|
|
48
|
+
* - the _same_ keys plus a done() function
|
|
49
|
+
* - all the values of `T` -- which are not functions already --
|
|
50
|
+
* will be made into a function returning the value.
|
|
51
|
+
* - the `TDef` property is the value _type_ to return;
|
|
52
|
+
* use utilities like `shape()`, `union()` etc. to define
|
|
53
|
+
*/
|
|
54
|
+
type ObjectToApi<TObj extends AnyObject, TDef = never> = Keys<TObj> extends readonly (ObjectKey & keyof TObj)[] ? Convert$4<Keys<TObj>, TObj, {
|
|
55
|
+
__kind: "ObjectApi";
|
|
56
|
+
done: () => TDef;
|
|
57
|
+
}> : never;
|
|
58
|
+
/**
|
|
59
|
+
* A callback signature for an object converted via `ObjectToApi`
|
|
60
|
+
*/
|
|
61
|
+
type ObjectApiCallback<TObj extends AnyObject, TDef = never> = ((api: ObjectToApi<TObj, TDef>) => unknown);
|
|
62
|
+
|
|
42
63
|
/**
|
|
43
64
|
* **ObjectKey**
|
|
44
65
|
*
|
|
@@ -588,6 +609,27 @@ type Nothing = null | undefined;
|
|
|
588
609
|
*/
|
|
589
610
|
type NotNull = Something | undefined;
|
|
590
611
|
|
|
612
|
+
type ReqKeys<K extends readonly (ObjectKey & keyof O)[], I extends AnyObject, O extends AnyObject, R extends AnyObject = EmptyObject> = [] extends K ? Required<R> : ReqKeys<AfterFirst<K>, I, O, R & Record<First<K>, O[First<K>] | (<R extends O[First<K>]>(v: I) => R)>>;
|
|
613
|
+
type OptKeys<K extends readonly (ObjectKey & keyof O)[], I extends AnyObject, O extends AnyObject, R extends AnyObject = EmptyObject> = [] extends K ? Partial<R> : ReqKeys<AfterFirst<K>, I, O, R & Record<First<K>, O[First<K>] | (<R extends O[First<K>]>(v: I) => R)>>;
|
|
614
|
+
/**
|
|
615
|
+
* **ObjectMap**`<I,O>`
|
|
616
|
+
*
|
|
617
|
+
* A dictionary who's keys map to the keys of `O` and values extend
|
|
618
|
+
* either:
|
|
619
|
+
*
|
|
620
|
+
* 1. `O[key]`
|
|
621
|
+
* 2. `<TInput extends I>(input: I) => O[key]`
|
|
622
|
+
*
|
|
623
|
+
* This dictionary structure describes a converion from type `I` to
|
|
624
|
+
* type `O` though the eyes of the structure of `O`.
|
|
625
|
+
*
|
|
626
|
+
* **Related**: `ObjectMapConversion`
|
|
627
|
+
*/
|
|
628
|
+
type ObjectMap<I extends AnyObject, O extends AnyObject> = (i: I) => ExpandDictionary<ReqKeys<RequiredKeys<O>, I, O> & OptKeys<RequiredKeys<O>, I, O>>;
|
|
629
|
+
type ObjectMapConversion<I extends AnyObject, O extends AnyObject, M extends ObjectMap<I, O>> = <TInput extends I>(input: TInput) => {
|
|
630
|
+
[K in keyof M]: K extends keyof O ? M[K] extends TypedFunction ? ReturnType<M[K]> : M[K] : never;
|
|
631
|
+
};
|
|
632
|
+
|
|
591
633
|
/**
|
|
592
634
|
* **Scalar**
|
|
593
635
|
*
|
|
@@ -1358,6 +1400,15 @@ type _Validate<T extends object> = "value" extends keyof T ? true : false;
|
|
|
1358
1400
|
*/
|
|
1359
1401
|
type IsVueRef<T> = T extends object ? If<IsEqual<_Len<T>, 0>, false, Retain<_Keys$6<T>, string>["length"] extends 1 ? _Validate<T> : false> : false;
|
|
1360
1402
|
|
|
1403
|
+
/**
|
|
1404
|
+
* **IsWideString**`<T>`
|
|
1405
|
+
*
|
|
1406
|
+
* Boolean operator which returns `true` when a _wide_ string
|
|
1407
|
+
* is passed in as `T`. It reports `false` on all other values
|
|
1408
|
+
* including _literal strings_.
|
|
1409
|
+
*/
|
|
1410
|
+
type IsWideString<T> = IsEqual<T, string>;
|
|
1411
|
+
|
|
1361
1412
|
/**
|
|
1362
1413
|
* **IsWideScalar**`<T>`
|
|
1363
1414
|
*
|
|
@@ -1616,6 +1667,16 @@ type IfLength<TEvaluate extends Tuple | string, TLength extends number, IF, ELSE
|
|
|
1616
1667
|
*/
|
|
1617
1668
|
type IfNever<T, IF, ELSE = T> = [IsNever<T>] extends [true] ? IF : ELSE;
|
|
1618
1669
|
|
|
1670
|
+
/**
|
|
1671
|
+
* **IfUnset**`<TTest,TElse,[TIf]>`
|
|
1672
|
+
*
|
|
1673
|
+
* Branching utility which will proxy _any_ type through except
|
|
1674
|
+
* for those set with `Unset<[T]>`.
|
|
1675
|
+
*
|
|
1676
|
+
* When `Unset` is found then it will be replaced with `TElse`.
|
|
1677
|
+
*/
|
|
1678
|
+
type IfUnset<TTest, TElse, TIf = TTest> = TTest extends Unset ? TElse : Exclude<TIf, Unset>;
|
|
1679
|
+
|
|
1619
1680
|
/**
|
|
1620
1681
|
* An array of all the lower-cased alphabetic characters
|
|
1621
1682
|
*/
|
|
@@ -1641,6 +1702,7 @@ interface Constant$1<TKind extends string, TVal = unknown> {
|
|
|
1641
1702
|
kind: TKind;
|
|
1642
1703
|
value: TVal;
|
|
1643
1704
|
}
|
|
1705
|
+
|
|
1644
1706
|
/**
|
|
1645
1707
|
* The 9 provinces to the US which are granted State codes.
|
|
1646
1708
|
*/
|
|
@@ -4256,6 +4318,7 @@ declare const NORWEGIAN_NEWS: readonly [{
|
|
|
4256
4318
|
*/
|
|
4257
4319
|
declare const NUMERIC_CHAR: readonly ["0", "1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
4258
4320
|
declare const NON_ZERO_NUMERIC_CHAR: readonly ["1", "2", "3", "4", "5", "6", "7", "8", "9"];
|
|
4321
|
+
|
|
4259
4322
|
/**
|
|
4260
4323
|
* **PLURAL_EXCEPTIONS**
|
|
4261
4324
|
*
|
|
@@ -4384,7 +4447,7 @@ declare const SIMPLE_OPT_SCALAR_TOKENS: readonly ["Opt<string>", "Opt<number>",
|
|
|
4384
4447
|
declare const SIMPLE_UNION_TOKENS: readonly [`union(${string})` | `union(${string},${string})`];
|
|
4385
4448
|
declare const SIMPLE_MAP_KEYS: readonly ["string", "number", "Dict", "Dict<string, string>", "Dict<string, number>", "Dict<string, boolean>", "Dict<string, unknown>", "Dict<string, Opt<string>>", "Dict<string, Opt<number>>", "Dict<string, Opt<boolean>>"];
|
|
4386
4449
|
declare const SIMPLE_MAP_VALUES: readonly ["string", "number", "Dict", "Dict<string, string>", "Dict<string, number>", "Dict<string, boolean>", "Dict<string, unknown>", "Dict<string, Opt<string>>", "Dict<string, Opt<number>>", "Dict<string, Opt<boolean>>", "boolean", "unknown", "undefined", "Dict", "Array", "Dict<string, Opt<string>>", "Dict<string, Opt<number>>", "Dict<string, Opt<boolean>>", "Dict<string, Opt<unknown>>"];
|
|
4387
|
-
declare const SIMPLE_DICT_TOKENS: readonly ["Dict", "Dict<string, string>", "Dict<string, number>", "Dict<string, boolean>", "Dict<string, unknown>", "Dict<string, Opt<string>>", "Dict<string, Opt<number>>", "Dict<string, Opt<boolean>>", "Dict<string, Opt<unknown>>", `Dict<{${string}: string}>` | `Dict<{${string}: number}>` | `Dict<{${string}: boolean}>` | `Dict<{${string}: undefined}>` | `Dict<{${string}:
|
|
4450
|
+
declare const SIMPLE_DICT_TOKENS: readonly ["Dict", "Dict<string, string>", "Dict<string, number>", "Dict<string, boolean>", "Dict<string, unknown>", "Dict<string, Opt<string>>", "Dict<string, Opt<number>>", "Dict<string, Opt<boolean>>", "Dict<string, Opt<unknown>>", `Dict<{${string}: string}>` | `Dict<{${string}: number}>` | `Dict<{${string}: boolean}>` | `Dict<{${string}: undefined}>` | `Dict<{${string}: false}>` | `Dict<{${string}: true}>` | `Dict<{${string}: any}>` | `Dict<{${string}: never}>` | `Dict<{${string}: unknown}>` | `Dict<{${string}: null}>` | `Dict<{${string}: Opt<string>}>` | `Dict<{${string}: Opt<number>}>` | `Dict<{${string}: Opt<boolean>}>` | `Dict<{${string}: Opt<unknown>}>` | `Dict<{${string}: string(${string})}>` | `Dict<{${string}: number(${number})}>` | `Dict<{${string}: number(${number},${string})}>` | `Dict<{${string}: Opt<true>}>` | `Dict<{${string}: Opt<false>}>` | `Dict<{${string}: Opt<null>}>` | `Dict<{${string}: Opt<undefined>}>` | `Dict<{${string}: Opt<any>}>` | `Dict<{${string}: Opt<string(${string})>}>` | `Dict<{${string}: Opt<string(${string},${string})>}>` | `Dict<{${string}: Opt<number(${number})}>` | `Dict<{${string}: Opt<number(${number},${string})}>`, `Dict<{${string}: string, ${string}: ${string}}` | `Dict<{${string}: number, ${string}: ${string}}` | `Dict<{${string}: boolean, ${string}: ${string}}` | `Dict<{${string}: undefined, ${string}: ${string}}` | `Dict<{${string}: false, ${string}: ${string}}` | `Dict<{${string}: true, ${string}: ${string}}` | `Dict<{${string}: any, ${string}: ${string}}` | `Dict<{${string}: never, ${string}: ${string}}` | `Dict<{${string}: unknown, ${string}: ${string}}` | `Dict<{${string}: null, ${string}: ${string}}` | `Dict<{${string}: Opt<string>, ${string}: ${string}}` | `Dict<{${string}: Opt<number>, ${string}: ${string}}` | `Dict<{${string}: Opt<boolean>, ${string}: ${string}}` | `Dict<{${string}: Opt<unknown>, ${string}: ${string}}` | `Dict<{${string}: string(${string}), ${string}: ${string}}` | `Dict<{${string}: number(${number}), ${string}: ${string}}` | `Dict<{${string}: number(${number},${string}), ${string}: ${string}}` | `Dict<{${string}: Opt<true>, ${string}: ${string}}` | `Dict<{${string}: Opt<false>, ${string}: ${string}}` | `Dict<{${string}: Opt<null>, ${string}: ${string}}` | `Dict<{${string}: Opt<undefined>, ${string}: ${string}}` | `Dict<{${string}: Opt<any>, ${string}: ${string}}` | `Dict<{${string}: Opt<string(${string})>, ${string}: ${string}}` | `Dict<{${string}: Opt<string(${string},${string})>, ${string}: ${string}}` | `Dict<{${string}: Opt<number(${number}), ${string}: ${string}}` | `Dict<{${string}: Opt<number(${number},${string}), ${string}: ${string}}`];
|
|
4388
4451
|
declare const SIMPLE_ARRAY_TOKENS: readonly ["Array", "Array<string>", `Array<string(${string})>`, "Array<number>", `Array<number(${number})>` | `Array<number(${number},${string})>`, "Array<boolean>", "Array<unknown>", "Array<Dict>", "Array<Set>", "Array<Map>"];
|
|
4389
4452
|
declare const SIMPLE_MAP_TOKENS: readonly ["Map", "Map<string, string>" | "Map<string, number>" | "Map<string, boolean>" | "Map<string, undefined>" | "Map<string, unknown>" | "Map<string, Dict>" | "Map<string, Dict<string, string>>" | "Map<string, Dict<string, number>>" | "Map<string, Dict<string, boolean>>" | "Map<string, Dict<string, unknown>>" | "Map<string, Dict<string, Opt<string>>>" | "Map<string, Dict<string, Opt<number>>>" | "Map<string, Dict<string, Opt<boolean>>>" | "Map<string, Array>" | "Map<string, Dict<string, Opt<unknown>>>" | "Map<number, string>" | "Map<number, number>" | "Map<number, boolean>" | "Map<number, undefined>" | "Map<number, unknown>" | "Map<number, Dict>" | "Map<number, Dict<string, string>>" | "Map<number, Dict<string, number>>" | "Map<number, Dict<string, boolean>>" | "Map<number, Dict<string, unknown>>" | "Map<number, Dict<string, Opt<string>>>" | "Map<number, Dict<string, Opt<number>>>" | "Map<number, Dict<string, Opt<boolean>>>" | "Map<number, Array>" | "Map<number, Dict<string, Opt<unknown>>>" | "Map<Dict, string>" | "Map<Dict, number>" | "Map<Dict, boolean>" | "Map<Dict, undefined>" | "Map<Dict, unknown>" | "Map<Dict, Dict>" | "Map<Dict, Dict<string, string>>" | "Map<Dict, Dict<string, number>>" | "Map<Dict, Dict<string, boolean>>" | "Map<Dict, Dict<string, unknown>>" | "Map<Dict, Dict<string, Opt<string>>>" | "Map<Dict, Dict<string, Opt<number>>>" | "Map<Dict, Dict<string, Opt<boolean>>>" | "Map<Dict, Array>" | "Map<Dict, Dict<string, Opt<unknown>>>" | "Map<Dict<string, string>, string>" | "Map<Dict<string, string>, number>" | "Map<Dict<string, string>, boolean>" | "Map<Dict<string, string>, undefined>" | "Map<Dict<string, string>, unknown>" | "Map<Dict<string, string>, Dict>" | "Map<Dict<string, string>, Dict<string, string>>" | "Map<Dict<string, string>, Dict<string, number>>" | "Map<Dict<string, string>, Dict<string, boolean>>" | "Map<Dict<string, string>, Dict<string, unknown>>" | "Map<Dict<string, string>, Dict<string, Opt<string>>>" | "Map<Dict<string, string>, Dict<string, Opt<number>>>" | "Map<Dict<string, string>, Dict<string, Opt<boolean>>>" | "Map<Dict<string, string>, Array>" | "Map<Dict<string, string>, Dict<string, Opt<unknown>>>" | "Map<Dict<string, number>, string>" | "Map<Dict<string, number>, number>" | "Map<Dict<string, number>, boolean>" | "Map<Dict<string, number>, undefined>" | "Map<Dict<string, number>, unknown>" | "Map<Dict<string, number>, Dict>" | "Map<Dict<string, number>, Dict<string, string>>" | "Map<Dict<string, number>, Dict<string, number>>" | "Map<Dict<string, number>, Dict<string, boolean>>" | "Map<Dict<string, number>, Dict<string, unknown>>" | "Map<Dict<string, number>, Dict<string, Opt<string>>>" | "Map<Dict<string, number>, Dict<string, Opt<number>>>" | "Map<Dict<string, number>, Dict<string, Opt<boolean>>>" | "Map<Dict<string, number>, Array>" | "Map<Dict<string, number>, Dict<string, Opt<unknown>>>" | "Map<Dict<string, boolean>, string>" | "Map<Dict<string, boolean>, number>" | "Map<Dict<string, boolean>, boolean>" | "Map<Dict<string, boolean>, undefined>" | "Map<Dict<string, boolean>, unknown>" | "Map<Dict<string, boolean>, Dict>" | "Map<Dict<string, boolean>, Dict<string, string>>" | "Map<Dict<string, boolean>, Dict<string, number>>" | "Map<Dict<string, boolean>, Dict<string, boolean>>" | "Map<Dict<string, boolean>, Dict<string, unknown>>" | "Map<Dict<string, boolean>, Dict<string, Opt<string>>>" | "Map<Dict<string, boolean>, Dict<string, Opt<number>>>" | "Map<Dict<string, boolean>, Dict<string, Opt<boolean>>>" | "Map<Dict<string, boolean>, Array>" | "Map<Dict<string, boolean>, Dict<string, Opt<unknown>>>" | "Map<Dict<string, unknown>, string>" | "Map<Dict<string, unknown>, number>" | "Map<Dict<string, unknown>, boolean>" | "Map<Dict<string, unknown>, undefined>" | "Map<Dict<string, unknown>, unknown>" | "Map<Dict<string, unknown>, Dict>" | "Map<Dict<string, unknown>, Dict<string, string>>" | "Map<Dict<string, unknown>, Dict<string, number>>" | "Map<Dict<string, unknown>, Dict<string, boolean>>" | "Map<Dict<string, unknown>, Dict<string, unknown>>" | "Map<Dict<string, unknown>, Dict<string, Opt<string>>>" | "Map<Dict<string, unknown>, Dict<string, Opt<number>>>" | "Map<Dict<string, unknown>, Dict<string, Opt<boolean>>>" | "Map<Dict<string, unknown>, Array>" | "Map<Dict<string, unknown>, Dict<string, Opt<unknown>>>" | "Map<Dict<string, Opt<string>>, string>" | "Map<Dict<string, Opt<string>>, number>" | "Map<Dict<string, Opt<string>>, boolean>" | "Map<Dict<string, Opt<string>>, undefined>" | "Map<Dict<string, Opt<string>>, unknown>" | "Map<Dict<string, Opt<string>>, Dict>" | "Map<Dict<string, Opt<string>>, Dict<string, string>>" | "Map<Dict<string, Opt<string>>, Dict<string, number>>" | "Map<Dict<string, Opt<string>>, Dict<string, boolean>>" | "Map<Dict<string, Opt<string>>, Dict<string, unknown>>" | "Map<Dict<string, Opt<string>>, Dict<string, Opt<string>>>" | "Map<Dict<string, Opt<string>>, Dict<string, Opt<number>>>" | "Map<Dict<string, Opt<string>>, Dict<string, Opt<boolean>>>" | "Map<Dict<string, Opt<string>>, Array>" | "Map<Dict<string, Opt<string>>, Dict<string, Opt<unknown>>>" | "Map<Dict<string, Opt<number>>, string>" | "Map<Dict<string, Opt<number>>, number>" | "Map<Dict<string, Opt<number>>, boolean>" | "Map<Dict<string, Opt<number>>, undefined>" | "Map<Dict<string, Opt<number>>, unknown>" | "Map<Dict<string, Opt<number>>, Dict>" | "Map<Dict<string, Opt<number>>, Dict<string, string>>" | "Map<Dict<string, Opt<number>>, Dict<string, number>>" | "Map<Dict<string, Opt<number>>, Dict<string, boolean>>" | "Map<Dict<string, Opt<number>>, Dict<string, unknown>>" | "Map<Dict<string, Opt<number>>, Dict<string, Opt<string>>>" | "Map<Dict<string, Opt<number>>, Dict<string, Opt<number>>>" | "Map<Dict<string, Opt<number>>, Dict<string, Opt<boolean>>>" | "Map<Dict<string, Opt<number>>, Array>" | "Map<Dict<string, Opt<number>>, Dict<string, Opt<unknown>>>" | "Map<Dict<string, Opt<boolean>>, string>" | "Map<Dict<string, Opt<boolean>>, number>" | "Map<Dict<string, Opt<boolean>>, boolean>" | "Map<Dict<string, Opt<boolean>>, undefined>" | "Map<Dict<string, Opt<boolean>>, unknown>" | "Map<Dict<string, Opt<boolean>>, Dict>" | "Map<Dict<string, Opt<boolean>>, Dict<string, string>>" | "Map<Dict<string, Opt<boolean>>, Dict<string, number>>" | "Map<Dict<string, Opt<boolean>>, Dict<string, boolean>>" | "Map<Dict<string, Opt<boolean>>, Dict<string, unknown>>" | "Map<Dict<string, Opt<boolean>>, Dict<string, Opt<string>>>" | "Map<Dict<string, Opt<boolean>>, Dict<string, Opt<number>>>" | "Map<Dict<string, Opt<boolean>>, Dict<string, Opt<boolean>>>" | "Map<Dict<string, Opt<boolean>>, Array>" | "Map<Dict<string, Opt<boolean>>, Dict<string, Opt<unknown>>>", "WeakMap"];
|
|
4390
4453
|
declare const SIMPLE_SET_TOKENS: readonly ["Set", "Set<string>" | "Set<number>" | "Set<boolean>" | "Set<unknown>" | "Set<Opt<string>>" | "Set<Opt<number>>" | "Set<Opt<boolean>>" | "Set<Opt<unknown>>"];
|
|
@@ -4983,6 +5046,10 @@ type AsNumberWhenPossible<T> = If<IsUnion<T>, ConvertUnion$1<T>, T extends reado
|
|
|
4983
5046
|
*/
|
|
4984
5047
|
type AsBoolean<T> = T extends boolean ? T : T extends "true" ? true : T extends "false" ? false : T extends "boolean" ? boolean : never;
|
|
4985
5048
|
|
|
5049
|
+
type ErrMsg<TType extends string, TContext extends AnyObject | string = "no desc"> = TContext extends string ? TType & {
|
|
5050
|
+
desc: TContext;
|
|
5051
|
+
} : TType & TContext;
|
|
5052
|
+
|
|
4986
5053
|
interface TypeErrorInfo<TContext extends Record<string, unknown> = EmptyObject> {
|
|
4987
5054
|
/**
|
|
4988
5055
|
* if there is a particular "id" value which is useful to separate from the error message
|
|
@@ -9169,7 +9236,7 @@ type FnWithProps<TFn extends TypedFunction, TProps extends AnyObject, TClone ext
|
|
|
9169
9236
|
*/
|
|
9170
9237
|
type HandleDoneFn<T> = T extends {
|
|
9171
9238
|
done: TypedFunction;
|
|
9172
|
-
} ? ReturnType<T["done"]> : T;
|
|
9239
|
+
} ? ReturnType<T["done"]> : T extends TypedFunction ? Parameters<T>["length"] extends 0 ? ReturnType<T> : T : T;
|
|
9173
9240
|
|
|
9174
9241
|
/**
|
|
9175
9242
|
* **LiteralFn**`<TFn>`
|
|
@@ -9971,12 +10038,11 @@ type FromSimpleToken<T extends SimpleToken> = SimpleType<T>;
|
|
|
9971
10038
|
type _FromDefineObject<T extends Required<DefineObject>> = {
|
|
9972
10039
|
[K in keyof T]: T[K] extends SimpleToken ? FromSimpleToken<T[K]> : T[K] extends ShapeCallback ? FromShapeCallback<T[K]> : never;
|
|
9973
10040
|
};
|
|
9974
|
-
type TypeFromDefineObject<T> = T;
|
|
9975
10041
|
/**
|
|
9976
10042
|
* Converts a `DefineObject` definition into the type that it is
|
|
9977
10043
|
* defining.
|
|
9978
10044
|
*/
|
|
9979
|
-
type FromDefineObject<T extends DefineObject> =
|
|
10045
|
+
type FromDefineObject<T extends DefineObject> = MakeKeysOptional<_FromDefineObject<Required<T>>, UnionToTuple$1<OptionalKeys<T>> extends readonly ObjectKey[] ? UnionToTuple$1<OptionalKeys<T>> : never>;
|
|
9980
10046
|
/**
|
|
9981
10047
|
* **FromDefn**`<T, [TElse]>`
|
|
9982
10048
|
*
|
|
@@ -10289,37 +10355,6 @@ type Process$f<TContainer extends AnyObject> = [IsObjectLiteral<RemoveIndexKeys<
|
|
|
10289
10355
|
*/
|
|
10290
10356
|
type Keys<TContainer extends Tuple | AnyObject> = TContainer extends Tuple ? ProcessTuple<TContainer> : TContainer extends AnyObject ? Process$f<TContainer> : never;
|
|
10291
10357
|
|
|
10292
|
-
type MakeIntoUnion<K extends PropertyKey | readonly PropertyKey[]> = K extends readonly PropertyKey[] ? TupleToUnion<K> : K;
|
|
10293
|
-
type MakeNumericIndex<T> = T;
|
|
10294
|
-
/**
|
|
10295
|
-
* **WithKeys**`<T,K>`
|
|
10296
|
-
*
|
|
10297
|
-
* This type utility will ensure that the type `T` will _retain_ the key/value
|
|
10298
|
-
* pairs which extend `K`.
|
|
10299
|
-
*
|
|
10300
|
-
* It is very similar to **Pick** but rather `K` being restricted to
|
|
10301
|
-
* being a string union, wth **WithKeys** you can use the union type
|
|
10302
|
-
* or a readonly array of strings.
|
|
10303
|
-
*
|
|
10304
|
-
* ```ts
|
|
10305
|
-
* type Test = { foo: 1, bar: number, baz: string };
|
|
10306
|
-
* // { foo: 1, bar: number }
|
|
10307
|
-
* type T1 = WithKeys<Test, "foo" | "bar">; // Pick syntax
|
|
10308
|
-
* type T2 = WithKeys<Test, ["foo", "bar"]>;
|
|
10309
|
-
* ```
|
|
10310
|
-
*/
|
|
10311
|
-
type WithKeys<T extends AnyObject | Tuple, K extends PropertyKey | readonly PropertyKey[]> = ExpandRecursively<UnionToIntersection<MakeIntoUnion<K> extends keyof T ? T extends Tuple ? MakeNumericIndex<Pick<T, MakeIntoUnion<K>>> : Pick<T, MakeIntoUnion<K>> : never>>;
|
|
10312
|
-
|
|
10313
|
-
type Process$e<TObj extends Dictionary, TKeys extends ObjectKey> = [] extends TKeys ? TObj : Omit<TObj, TKeys>;
|
|
10314
|
-
/**
|
|
10315
|
-
* **WithoutKeys**`<TObj, TKeys>`
|
|
10316
|
-
*
|
|
10317
|
-
* Removes the keys in `TKeys` from an object `TObj`. This is
|
|
10318
|
-
* functionally equivalent to the `Omit<T,U>` built-in but rather than
|
|
10319
|
-
* taking a union type it takes an array of keys.
|
|
10320
|
-
*/
|
|
10321
|
-
type WithoutKeys<TObj extends Dictionary, TKeys extends ObjectKey | readonly ObjectKey[]> = TKeys extends readonly ObjectKey[] ? Process$e<TObj, TupleToUnion<TKeys>> : ExpandDictionary<Process$e<TObj, TKeys extends readonly ObjectKey[] ? TupleToUnion<TKeys> : TKeys>>;
|
|
10322
|
-
|
|
10323
10358
|
type ProcessTupleKeys<TObj extends AnyObject, TKeys extends readonly ObjectKey[]> = ExpandDictionary<WithoutKeys<TObj, TKeys> & {
|
|
10324
10359
|
[K in keyof WithKeys<TObj, TKeys>]?: K extends keyof TObj ? TObj[K] : never;
|
|
10325
10360
|
}>;
|
|
@@ -10378,7 +10413,25 @@ type CombinedKeys<A extends Dictionary, B extends Dictionary> = Unique<[
|
|
|
10378
10413
|
...(IsObjectLiteral<B> extends true ? Keys<B> : [])
|
|
10379
10414
|
]>;
|
|
10380
10415
|
|
|
10381
|
-
|
|
10416
|
+
/**
|
|
10417
|
+
* Helper type to infer narrow types while constraining to a broad type.
|
|
10418
|
+
*/
|
|
10419
|
+
type ConstrainObject<TObj extends AnyObject, TConstraint extends AnyObject> = {
|
|
10420
|
+
[K in keyof TConstraint]: K extends keyof TObj ? TObj[K] & TConstraint[K] : never;
|
|
10421
|
+
};
|
|
10422
|
+
type ConstrainedObjectCallback<TConstraint extends AnyObject> = <TReturn extends Narrowable>(cb: (input: ConstrainObject<TConstraint, TConstraint>) => TReturn) => (input: ConstrainObject<TConstraint, TConstraint>) => TReturn;
|
|
10423
|
+
/**
|
|
10424
|
+
* A function which will accept any object that meets the
|
|
10425
|
+
* defined constraint and will extract a narrow type from it.
|
|
10426
|
+
*
|
|
10427
|
+
* **Related:** `narrowObjectTo`
|
|
10428
|
+
*/
|
|
10429
|
+
interface ConstrainedObjectIdentity<TConstraint extends AnyObject> {
|
|
10430
|
+
<T extends TConstraint>(input: T & ConstrainObject<T, TConstraint>): T;
|
|
10431
|
+
asCallback: ConstrainedObjectCallback<TConstraint>;
|
|
10432
|
+
}
|
|
10433
|
+
|
|
10434
|
+
type Process$d<TKeys extends readonly string[], TValue, TObj extends Dictionary = EmptyObject> = [] extends TKeys ? TObj : Process$d<AfterFirst<TKeys>, TValue, TObj & Record<First<TKeys>, TValue>>;
|
|
10382
10435
|
/**
|
|
10383
10436
|
* **CreateKV**`<TKeys,[TValue]>`
|
|
10384
10437
|
*
|
|
@@ -10386,7 +10439,7 @@ type Process$c<TKeys extends readonly string[], TValue, TObj extends Dictionary
|
|
|
10386
10439
|
* as `TKeys` and with all properties set to the value
|
|
10387
10440
|
* of `TValue` (which defaults to `unknown`)
|
|
10388
10441
|
*/
|
|
10389
|
-
type CreateKV<TKeys extends readonly string[], TValue = unknown> = ExpandRecursively<Process$
|
|
10442
|
+
type CreateKV<TKeys extends readonly string[], TValue = unknown> = ExpandRecursively<Process$d<TKeys, TValue>>;
|
|
10390
10443
|
|
|
10391
10444
|
/**
|
|
10392
10445
|
* the _optional_ variants of the `SimpleScalarToken` type
|
|
@@ -10932,6 +10985,24 @@ type KeysWithoutValue<TObj extends AnyObject, TValue extends Narrowable> = {
|
|
|
10932
10985
|
[K in keyof TObj]: TObj[K] extends TValue ? never : Readonly<K>;
|
|
10933
10986
|
}[keyof TObj];
|
|
10934
10987
|
|
|
10988
|
+
/**
|
|
10989
|
+
* **RequiredKeys**`<T,[V]>`
|
|
10990
|
+
*
|
|
10991
|
+
* Provides a union type of the _keys_ in `T` which are
|
|
10992
|
+
* **required** properties.
|
|
10993
|
+
*
|
|
10994
|
+
* **Note:** you also may optionally filter further by specifying a value
|
|
10995
|
+
* by the _value_ of the key and then only keys which are required AND
|
|
10996
|
+
* who extend `V` will be included in the union.
|
|
10997
|
+
*
|
|
10998
|
+
* **Related:** `OptionalKeys`, `RequiredProps`, `RequiredKeysTuple`
|
|
10999
|
+
*/
|
|
11000
|
+
type RequiredKeys<T extends Dictionary, V = Unset> = As<{
|
|
11001
|
+
[K in keyof T]-?: EmptyObject extends {
|
|
11002
|
+
[P in K]: T[K];
|
|
11003
|
+
} ? never : IfUnset<V, K, T[K] extends V ? K : never>;
|
|
11004
|
+
}[keyof T], ObjectKey>;
|
|
11005
|
+
|
|
10935
11006
|
/**
|
|
10936
11007
|
* **SharedKeys**`<A,B>`
|
|
10937
11008
|
*
|
|
@@ -10957,7 +11028,7 @@ type SharedKeys<A extends Record<ObjectKey, unknown> | object, B extends Record<
|
|
|
10957
11028
|
*/
|
|
10958
11029
|
type TakeProp<TTest, TProp extends PropertyKey, TElse = undefined> = TProp extends keyof TTest ? TTest[TProp] : TElse;
|
|
10959
11030
|
|
|
10960
|
-
type Process$
|
|
11031
|
+
type Process$3<TKeys extends readonly ObjectKey[], TObj extends Record<ObjectKey, unknown>, TResult extends readonly unknown[] = []> = [] extends TKeys ? TResult : Process$3<AfterFirst<TKeys>, TObj, [
|
|
10961
11032
|
...TResult,
|
|
10962
11033
|
First<TKeys> extends keyof TObj ? TObj[First<TKeys>] : never
|
|
10963
11034
|
]>;
|
|
@@ -10969,7 +11040,38 @@ type Process$2<TKeys extends readonly ObjectKey[], TObj extends Record<ObjectKey
|
|
|
10969
11040
|
* - for **tuples** this is just a _proxy_ of the type
|
|
10970
11041
|
* - for _wide_ types like `string[]`
|
|
10971
11042
|
*/
|
|
10972
|
-
type Values<T extends Container> = T extends Tuple ? T : T extends Dictionary ? Process$
|
|
11043
|
+
type Values<T extends Container> = T extends Tuple ? T : T extends Dictionary ? Process$3<Keys<T> extends readonly ObjectKey[] ? Keys<T> : never, T> : T extends TypedFunction ? [T] : [];
|
|
11044
|
+
|
|
11045
|
+
type MakeIntoUnion<K extends PropertyKey | readonly PropertyKey[]> = K extends readonly PropertyKey[] ? TupleToUnion<K> : K;
|
|
11046
|
+
type MakeNumericIndex<T> = T;
|
|
11047
|
+
/**
|
|
11048
|
+
* **WithKeys**`<T,K>`
|
|
11049
|
+
*
|
|
11050
|
+
* This type utility will ensure that the type `T` will _retain_ the key/value
|
|
11051
|
+
* pairs which extend `K`.
|
|
11052
|
+
*
|
|
11053
|
+
* It is very similar to **Pick** but rather `K` being restricted to
|
|
11054
|
+
* being a string union, wth **WithKeys** you can use the union type
|
|
11055
|
+
* or a readonly array of strings.
|
|
11056
|
+
*
|
|
11057
|
+
* ```ts
|
|
11058
|
+
* type Test = { foo: 1, bar: number, baz: string };
|
|
11059
|
+
* // { foo: 1, bar: number }
|
|
11060
|
+
* type T1 = WithKeys<Test, "foo" | "bar">; // Pick syntax
|
|
11061
|
+
* type T2 = WithKeys<Test, ["foo", "bar"]>;
|
|
11062
|
+
* ```
|
|
11063
|
+
*/
|
|
11064
|
+
type WithKeys<T extends AnyObject | Tuple, K extends PropertyKey | readonly PropertyKey[]> = ExpandRecursively<UnionToIntersection<MakeIntoUnion<K> extends keyof T ? T extends Tuple ? MakeNumericIndex<Pick<T, MakeIntoUnion<K>>> : Pick<T, MakeIntoUnion<K>> : never>>;
|
|
11065
|
+
|
|
11066
|
+
type Process$2<TObj extends Dictionary, TKeys extends ObjectKey> = [] extends TKeys ? TObj : Omit<TObj, TKeys>;
|
|
11067
|
+
/**
|
|
11068
|
+
* **WithoutKeys**`<TObj, TKeys>`
|
|
11069
|
+
*
|
|
11070
|
+
* Removes the keys in `TKeys` from an object `TObj`. This is
|
|
11071
|
+
* functionally equivalent to the `Omit<T,U>` built-in but rather than
|
|
11072
|
+
* taking a union type it takes an array of keys.
|
|
11073
|
+
*/
|
|
11074
|
+
type WithoutKeys<TObj extends Dictionary, TKeys extends ObjectKey | readonly ObjectKey[]> = TKeys extends readonly ObjectKey[] ? Process$2<TObj, TupleToUnion<TKeys>> : ExpandDictionary<Process$2<TObj, TKeys extends readonly ObjectKey[] ? TupleToUnion<TKeys> : TKeys>>;
|
|
10973
11075
|
|
|
10974
11076
|
/**
|
|
10975
11077
|
* **WithoutValue**
|
|
@@ -11195,6 +11297,40 @@ declare function asApi<T extends Dictionary | TypedFunction>(api: T): OnPass<AsA
|
|
|
11195
11297
|
*/
|
|
11196
11298
|
declare function handleDoneFn<TVal, TBareFn extends boolean>(val: TVal, call_bare_fn?: TBareFn): any;
|
|
11197
11299
|
|
|
11300
|
+
declare function objectToApi<TObj extends Record<string, N>, N extends Narrowable, TDef = never>(obj: TObj, def?: TDef): ObjectToApi<TObj, TDef>;
|
|
11301
|
+
type MapperReturns<TInput extends AnyObject, TOutput extends AnyObject, T extends ObjectApiCallback<any, any>> = HandleDoneFn<ReturnType<T>> extends TOutput ? HandleDoneFn<ReturnType<T>> : ErrMsg<"invalid-mapper", {
|
|
11302
|
+
input: TInput;
|
|
11303
|
+
output: TOutput;
|
|
11304
|
+
}>;
|
|
11305
|
+
/**
|
|
11306
|
+
* **defineObjectApi**`(inputDefn) → api`
|
|
11307
|
+
*
|
|
11308
|
+
* **defineObjectApi.withType**`<TInput>() → api`
|
|
11309
|
+
*
|
|
11310
|
+
* a
|
|
11311
|
+
*/
|
|
11312
|
+
declare const defineObjectApi: ((_inputDefn: DefineObject) => {
|
|
11313
|
+
mapTo: <TToDefn extends DefineObject>(_defn: TToDefn) => {
|
|
11314
|
+
mapper: <T extends ObjectApiCallback<{
|
|
11315
|
+
[x: string]: never;
|
|
11316
|
+
}>>(map: T) => <I extends Record<string, N>, N extends Narrowable>(input: I & {
|
|
11317
|
+
[x: string]: never;
|
|
11318
|
+
}) => MapperReturns<I, MakeKeysOptional<{ [K in keyof Required<TToDefn>]: Required<TToDefn>[K] extends SimpleToken ? SimpleType<Required<TToDefn>[K]> : Required<TToDefn>[K] extends ShapeCallback ? ReturnType<HandleDoneFn<Required<TToDefn>[K]>> : never; }, UnionToTuple$1<OptionalKeys<TToDefn, Unset>, LastInUnion$1<OptionalKeys<TToDefn, Unset>>> extends readonly ObjectKey[] ? readonly ObjectKey[] & UnionToTuple$1<OptionalKeys<TToDefn, Unset>, LastInUnion$1<OptionalKeys<TToDefn, Unset>>> : never>, T>;
|
|
11319
|
+
};
|
|
11320
|
+
mapToWithType: <TOutput extends AnyObject>() => <T extends ObjectApiCallback<{
|
|
11321
|
+
[x: string]: never;
|
|
11322
|
+
}>>(map: T) => <I extends Record<string, N>, N extends Narrowable>(input: I & {
|
|
11323
|
+
[x: string]: never;
|
|
11324
|
+
}) => MapperReturns<I, TOutput, T>;
|
|
11325
|
+
}) & {
|
|
11326
|
+
withType: <TInput extends AnyObject>() => {
|
|
11327
|
+
mapTo: <TToDefn extends DefineObject>(_defn: TToDefn) => {
|
|
11328
|
+
mapper: <T extends ObjectApiCallback<TInput>>(map: T) => <I extends Record<string, N>, N extends Narrowable>(input: I & TInput) => MapperReturns<I, MakeKeysOptional<{ [K in keyof Required<TToDefn>]: Required<TToDefn>[K] extends SimpleToken ? SimpleType<Required<TToDefn>[K]> : Required<TToDefn>[K] extends ShapeCallback ? ReturnType<HandleDoneFn<Required<TToDefn>[K]>> : never; }, UnionToTuple$1<OptionalKeys<TToDefn, Unset>, LastInUnion$1<OptionalKeys<TToDefn, Unset>>> extends readonly ObjectKey[] ? readonly ObjectKey[] & UnionToTuple$1<OptionalKeys<TToDefn, Unset>, LastInUnion$1<OptionalKeys<TToDefn, Unset>>> : never>, T>;
|
|
11329
|
+
};
|
|
11330
|
+
mapToWithType: <TOutput extends AnyObject>() => <T extends ObjectApiCallback<TInput>>(map: T) => <I extends Record<string, N>, N extends Narrowable>(input: I & TInput) => MapperReturns<I, TOutput, T>;
|
|
11331
|
+
};
|
|
11332
|
+
};
|
|
11333
|
+
|
|
11198
11334
|
/**
|
|
11199
11335
|
* **ifArray**(T, IF, ELSE)
|
|
11200
11336
|
*
|
|
@@ -11572,6 +11708,39 @@ declare function get<TValue extends Narrowable | readonly unknown[], TDotPath ex
|
|
|
11572
11708
|
*/
|
|
11573
11709
|
declare function keysOf<TContainer extends Container>(container: TContainer): Keys<TContainer>;
|
|
11574
11710
|
|
|
11711
|
+
/**
|
|
11712
|
+
* **narrowObjectTo**`(constraint) => (obj) => obj
|
|
11713
|
+
*
|
|
11714
|
+
* Ensures that this identity function extracts a narrow type
|
|
11715
|
+
* definition from whatever is passed into `obj` while ensuring
|
|
11716
|
+
* that `obj` conform to the broader type definition `constraint`.
|
|
11717
|
+
*
|
|
11718
|
+
* ```ts
|
|
11719
|
+
* const fn = narrowObjectTo({foo: "string", bar: "Opt<number>"});
|
|
11720
|
+
* // {foo: "foo"; bar: 42}
|
|
11721
|
+
* const obj = fn({foo: "foo", bar: 42});
|
|
11722
|
+
* ```
|
|
11723
|
+
*
|
|
11724
|
+
* **Related:** `ConstrainedObjectIdentity`, `narrowObjectToType`
|
|
11725
|
+
*/
|
|
11726
|
+
declare function narrowObjectTo<TDefn extends DefineObject>(_defn: TDefn): ConstrainedObjectIdentity<FromDefineObject<TDefn>>;
|
|
11727
|
+
/**
|
|
11728
|
+
* **narrowObjectToType**`<Constraint>() => (obj) => obj
|
|
11729
|
+
*
|
|
11730
|
+
* Ensures that this identity function extracts a narrow type
|
|
11731
|
+
* definition from whatever is passed into `obj` while ensuring
|
|
11732
|
+
* that `obj` conform to the broader type definition `constraint`.
|
|
11733
|
+
*
|
|
11734
|
+
* ```ts
|
|
11735
|
+
* const fn = narrowObjectToType<{foo: "string", bar: "Opt<number>"}>();
|
|
11736
|
+
* // {foo: "foo"; bar: 42}
|
|
11737
|
+
* const obj = fn({foo: "foo", bar: 42});
|
|
11738
|
+
* ```
|
|
11739
|
+
*
|
|
11740
|
+
* **Related:** `ConstrainedObjectIdentity`, `narrowObjectTo`
|
|
11741
|
+
*/
|
|
11742
|
+
declare function narrowObjectToType<TDefn extends AnyObject>(): ConstrainedObjectIdentity<TDefn>;
|
|
11743
|
+
|
|
11575
11744
|
/**
|
|
11576
11745
|
* **omit**(obj, excluding)
|
|
11577
11746
|
*
|
|
@@ -11652,7 +11821,7 @@ declare function withKeys<TObj extends Dictionary<string | symbol, N>, N extends
|
|
|
11652
11821
|
utility: "retain()";
|
|
11653
11822
|
stack: ["retain()"];
|
|
11654
11823
|
__kind: "ErrorCondition";
|
|
11655
|
-
keys: [...TKeys] extends AnyFunction ? AnyFunction & [...TKeys] extends TypedFunction<any> ? [] extends Parameters<TypedFunction<any> & [...TKeys]> | Parameters<TypedFunction<any> & Function & [...TKeys]> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (() => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : () => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? (() => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : () => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>> | AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>> | AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>> | AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, args_8: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, args_8: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, args_8: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>, args_9: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof [...TKeys] | keyof Function) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof [...TKeys] | keyof Function))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, args_8: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>, args_9: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : /*elided*/ any : AnyFunction & [...TKeys] : ExpandRecursively<[...TKeys]>;
|
|
11824
|
+
keys: [...TKeys] extends AnyFunction ? AnyFunction & [...TKeys] extends TypedFunction<any> ? [] extends Parameters<TypedFunction<any> & [...TKeys]> | Parameters<TypedFunction<any> & Function & [...TKeys]> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (() => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : () => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? (() => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : () => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>> | AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>> | AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>> | AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, args_8: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, args_8: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : [] extends AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>> | AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>> ? IsNarrowingFn<TypedFunction<any> & [...TKeys]> | IsNarrowingFn<TypedFunction<any> & Function & [...TKeys]> extends true ? [IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>>] extends [true] ? (<T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : <T extends [First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>, First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>]>(...args: T) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : IsNonEmptyObject<ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never>> extends true ? ((args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, args_8: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>, args_9: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]>) & ExpandDictionary<keyof [...TKeys] & (keyof Function | keyof [...TKeys]) extends ObjectKey ? Pick<(TypedFunction<any> & AnyFunction) & [...TKeys], ObjectKey & (keyof [...TKeys] & (keyof Function | keyof [...TKeys]))> : never> : (args_0: First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & [...TKeys]>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>> : First<Parameters<TypedFunction<any> & [...TKeys]>, never> | First<Parameters<TypedFunction<any> & Function & [...TKeys]>, never>, args_1: First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>> : First<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>, never> | First<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>, never>, args_2: First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>> : First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>, never> | First<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>, never>, args_3: First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>, never>, args_4: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>, never>, args_5: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>, never>, args_6: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>, never>, args_7: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>, never>, args_8: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>, never>, args_9: First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never> extends Dictionary<ObjectKey, unknown> ? ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never>> | ExpandDictionary<Dictionary<ObjectKey, unknown> & First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>> : First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & [...TKeys]>>>>>>>>>>, never> | First<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<AfterFirst<Parameters<TypedFunction<any> & Function & [...TKeys]>>>>>>>>>>, never>) => ReturnType<TypedFunction<any> & [...TKeys]> | ReturnType<TypedFunction<any> & Function & [...TKeys]> : /*elided*/ any : AnyFunction & [...TKeys] : ExpandRecursively<[...TKeys]>;
|
|
11656
11825
|
} : ExpandRecursively<UnionToIntersection<([...TKeys] extends infer T ? T extends [...TKeys] ? T extends readonly PropertyKey[] ? TupleToUnion<T> : T : never : never) extends keyof TObj ? TObj extends readonly unknown[] ? Pick<TObj, keyof TObj & ([...TKeys] extends infer T_1 ? T_1 extends [...TKeys] ? T_1 extends readonly PropertyKey[] ? TupleToUnion<T_1> : T_1 : never : never)> : Pick<TObj, keyof TObj & ([...TKeys] extends infer T_2 ? T_2 extends [...TKeys] ? T_2 extends readonly PropertyKey[] ? TupleToUnion<T_2> : T_2 : never : never)> : never>>;
|
|
11657
11826
|
|
|
11658
11827
|
/**
|
|
@@ -12108,7 +12277,25 @@ declare function ifUppercaseChar<T extends string, IF extends Narrowable, ELSE e
|
|
|
12108
12277
|
ch: T & IsSingleChar<T> extends true ? T : never, callbackForMatch: ValueCallback<T, IF>, callbackForNoMatch: ValueCallback<T, ELSE>): Convert<T, IF, ELSE>;
|
|
12109
12278
|
|
|
12110
12279
|
type Ext = "string" | "number" | "boolean";
|
|
12111
|
-
type
|
|
12280
|
+
type START = "{{";
|
|
12281
|
+
type END = "}}";
|
|
12282
|
+
type InferredString = `infer ${string} extends string` | `infer ${string}`;
|
|
12283
|
+
type InferredNumber = `infer ${string} extends number`;
|
|
12284
|
+
type InferredBoolean = `infer ${string} extends boolean`;
|
|
12285
|
+
type InferenceVars<T extends string, Vars extends [strings: string[], nums: string[], bools: string[]] = [[], [], []]> = T extends `${infer _HEAD}${START}${infer Content}${END}${infer REST}` ? (Content extends `${OptSpace}infer ${infer Var} extends ${infer Type extends Ext}${OptSpace}` ? Type extends "string" ? InferenceVars<REST, [[...Vars[0], Var], Vars[1], Vars[2]]> : Type extends "number" ? InferenceVars<REST, [Vars[0], [...Vars[1], Var], Vars[2]]> : InferenceVars<REST, [Vars[0], Vars[1], [...Vars[2], Var]]> : Content extends `${OptSpace}infer ${infer Var2}${OptSpace}` ? InferenceVars<REST, [[...Vars[0], Var2], Vars[1], Vars[2]]> : InferenceVars<REST, Vars>) : Vars;
|
|
12286
|
+
type TypeLiteral<T extends string, Sections extends readonly string[] = []> = T extends `${infer HEAD}${START}${infer Content}${END}${infer REST}` ? Content extends InferredNumber ? TypeLiteral<REST, [...Sections, `${HEAD}${number}`]> : Content extends InferredBoolean ? TypeLiteral<REST, [...Sections, `${HEAD}${boolean}`]> : Content extends InferredString ? TypeLiteral<REST, [...Sections, `${HEAD}${string}`]> : Content extends "string" ? TypeLiteral<REST, [...Sections, `${HEAD}${string}`]> : Content extends "number" ? TypeLiteral<REST, [...Sections, `${HEAD}${number}`]> : Content extends "boolean" ? TypeLiteral<REST, [...Sections, `${HEAD}${boolean}`]> : TypeLiteral<REST, [...Sections, Content]> : Join<Sections>;
|
|
12287
|
+
/**
|
|
12288
|
+
* The pattern matching that Typescript employs works less well when
|
|
12289
|
+
* we include `${number}` or `${boolean}` string literals in our pattern.
|
|
12290
|
+
*
|
|
12291
|
+
* For this reason this utility looks for all "blocks" but only looks at them
|
|
12292
|
+
* as `${string}` blocks. This allows for a the runtime system to match on
|
|
12293
|
+
* a more capable pattern match while maintaining consistency in the "type":
|
|
12294
|
+
*
|
|
12295
|
+
* - when `TypeLiteral` matches the pattern then we _know_ we can match
|
|
12296
|
+
* - when `WideTypeLiteral` matches the pattern then we defer to runtime
|
|
12297
|
+
*/
|
|
12298
|
+
type WiderTypeLiteral<T extends string, Sections extends readonly string[] = []> = T extends `${infer HEAD}${START}${infer Content}${END}${infer REST}` ? Content extends InferredNumber ? WiderTypeLiteral<REST, [...Sections, `${HEAD}${string}`]> : Content extends InferredBoolean ? WiderTypeLiteral<REST, [...Sections, `${HEAD}${string}`]> : Content extends InferredString ? WiderTypeLiteral<REST, [...Sections, `${HEAD}${string}`]> : Content extends "string" ? WiderTypeLiteral<REST, [...Sections, `${HEAD}${string}`]> : Content extends "number" ? WiderTypeLiteral<REST, [...Sections, `${HEAD}${string}`]> : Content extends "boolean" ? WiderTypeLiteral<REST, [...Sections, `${HEAD}${string}`]> : WiderTypeLiteral<REST, [...Sections, Content]> : Join<Sections>;
|
|
12112
12299
|
type StrVars<T extends string> = InferenceVars<T>[0];
|
|
12113
12300
|
type NumVars<T extends string> = InferenceVars<T>[1];
|
|
12114
12301
|
type BoolVars<T extends string> = InferenceVars<T>[2];
|
|
@@ -12116,11 +12303,40 @@ type Shape<T extends string> = ExpandDictionary<Record<StrVars<T>[number], strin
|
|
|
12116
12303
|
type Lit$1 = "string" | "number" | "boolean";
|
|
12117
12304
|
type LiteralSections<T extends string, V extends Lit$1[] = []> = T extends `${string}{{${OptSpace}${infer Section extends Lit$1}${OptSpace}}}${infer REST}` ? LiteralSections<REST, [...V, Section]> : V;
|
|
12118
12305
|
/**
|
|
12119
|
-
* Boolean operator which indicates whether the string literal has any dynamic
|
|
12306
|
+
* Boolean operator which indicates whether the string literal has any dynamic
|
|
12307
|
+
* segments or not
|
|
12120
12308
|
*/
|
|
12121
12309
|
type IsDynamic<T extends string> = LiteralSections<T>["length"] extends 0 ? InferenceVars<T>["length"] extends 0 ? false : true : true;
|
|
12122
|
-
|
|
12310
|
+
interface GetInferenceProps<TPattern extends string> {
|
|
12311
|
+
vars: {
|
|
12312
|
+
string: StrVars<TPattern>;
|
|
12313
|
+
numeric: NumVars<TPattern>;
|
|
12314
|
+
boolean: BoolVars<TPattern>;
|
|
12315
|
+
};
|
|
12316
|
+
typeLiteral: TypeLiteral<TPattern>;
|
|
12317
|
+
typeWide: WiderTypeLiteral<TPattern>;
|
|
12318
|
+
}
|
|
12319
|
+
type GetInference<TPattern extends string> = (<T extends string>(test: T) => T extends TypeLiteral<TPattern> ? Shape<TPattern> : T extends WiderTypeLiteral<TPattern> ? false | Shape<TPattern> : IsWideString<T> extends true ? false | Shape<TPattern> : false) & GetInferenceProps<TPattern>;
|
|
12123
12320
|
type Returns<T extends string> = IsDynamic<T> extends true ? GetInference<T> : never;
|
|
12321
|
+
/**
|
|
12322
|
+
* **infer**`(pattern)`
|
|
12323
|
+
*
|
|
12324
|
+
* Builds a interference function from a Typescript _string literal template_
|
|
12325
|
+
* where:
|
|
12326
|
+
*
|
|
12327
|
+
* - the template string accepts `{{ string }}` instead of `${string}`, etc.
|
|
12328
|
+
* for matching blocks of string characters
|
|
12329
|
+
* - you can also extract parts of the string with syntax of `{{ infer Foo }}`
|
|
12330
|
+
* - you can also look for _numeric_ or _boolean_ string literals:
|
|
12331
|
+
* - `{{ boolean }}`
|
|
12332
|
+
* - `{{ infer Bar as number }}`
|
|
12333
|
+
*
|
|
12334
|
+
* ```ts
|
|
12335
|
+
* const matcher = infer("{{ infer foo }}-bar");
|
|
12336
|
+
* // "foo"
|
|
12337
|
+
* const {foo} = matcher("foo-bar");
|
|
12338
|
+
* ```
|
|
12339
|
+
*/
|
|
12124
12340
|
declare function infer<TTempl extends string>(inference: TTempl): Returns<TTempl>;
|
|
12125
12341
|
|
|
12126
12342
|
/**
|
|
@@ -13027,6 +13243,15 @@ declare function lookupCountryAlpha3<T extends Suggest<Iso3166_1_Alpha2 | Iso316
|
|
|
13027
13243
|
*/
|
|
13028
13244
|
declare function lookupCountryCode<T extends Suggest<Iso3166_1_Alpha2 | Iso3166_1_Alpha3 | Iso3166_1_CountryName>>(token: T): T extends Iso3166_1_CountryName ? Iso3166CodeLookup<T> : Iso3166CodeLookup<Uppercase<AsString<T>>>;
|
|
13029
13245
|
|
|
13246
|
+
type Mapper<TFrom extends AnyObject, TTo> = (<TInput extends TFrom>(from: TInput) => TTo) & {
|
|
13247
|
+
kind: "Mapper";
|
|
13248
|
+
map: <TInput extends readonly TFrom[]>(from: TInput) => {
|
|
13249
|
+
[K in keyof TInput]: TTo;
|
|
13250
|
+
};
|
|
13251
|
+
};
|
|
13252
|
+
declare function createObjectMap<TFrom extends AnyObject, TTo extends AnyObject>(): <TMap extends ObjectMap<TFrom, TTo>>(map: TMap) => ObjectMapConversion<TFrom, TTo, TMap>;
|
|
13253
|
+
declare function createMapper<TFrom extends AnyObject, TTo extends AnyObject>(): <TFn extends <TInput extends TFrom>(cb: TInput) => { [K in keyof TInput]: TTo; }>(fn: TFn) => Mapper<TFrom, TTo>;
|
|
13254
|
+
|
|
13030
13255
|
declare function mergeObjects<D extends Narrowable, O extends Narrowable, TDefault extends NarrowObject<D>, TOverride extends NarrowObject<O>>(defVal: TDefault, override: TOverride): MergeObjects<TDefault, TOverride>;
|
|
13031
13256
|
|
|
13032
13257
|
/**
|
|
@@ -13960,7 +14185,7 @@ declare function isDomainName<T>(val: T): val is T & DomainName<AsString<T>>;
|
|
|
13960
14185
|
* Type guard which checks whether the value is a valid URL source
|
|
13961
14186
|
* (aka, an IP address or a Domain Name)
|
|
13962
14187
|
*/
|
|
13963
|
-
declare function isUrlSource<T>(val: T): val is (T & DomainName<AsString<T>>) | (T & (`${number}.${number}.${number}.${number}` | `
|
|
14188
|
+
declare function isUrlSource<T>(val: T): val is (T & DomainName<AsString<T>>) | (T & (`${number}.${number}.${number}.${number}` | `A${string}:${string}` | `B${string}:${string}` | `C${string}:${string}` | `D${string}:${string}` | `E${string}:${string}` | `F${string}:${string}` | `a${string}:${string}` | `b${string}:${string}` | `c${string}:${string}` | `d${string}:${string}` | `e${string}:${string}` | `f${string}:${string}` | `1${string}:${string}` | `2${string}:${string}` | `3${string}:${string}` | `4${string}:${string}` | `5${string}:${string}` | `6${string}:${string}` | `0${string}:${string}` | `7${string}:${string}` | `8${string}:${string}` | `9${string}:${string}`));
|
|
13964
14189
|
/**
|
|
13965
14190
|
* **hasUrlQueryParameter**`(val,prop)`
|
|
13966
14191
|
*
|
|
@@ -14631,4 +14856,4 @@ declare function isYouTubeVideosInPlaylist<T>(val: T): val is T & YouTubeVideosI
|
|
|
14631
14856
|
*/
|
|
14632
14857
|
declare function asVueRef<T extends Narrowable>(value: T): VueRef<T>;
|
|
14633
14858
|
|
|
14634
|
-
export { type AsClassSelector, type AsList, type BoxValue, type BoxedFnParams, type CssKeyframeCallback, type CssSelectorOptions, type CsvFormat, type EndingWithTypeGuard, type EqualTo, type Finder, type FnParam, type FnParams, type GenParam, type GenParams, type GetEachOptions, type GetInference, type GetOptions, type Joiner, type KeyframeApi, type Rtn, ShapeApiImplementation, type SingletonClosure, type StartingWithTypeGuard, type StripSurroundConfigured, type SurroundWith, type TokenContainerClosure, type TokenFunctionClosure, type TokenSetClosure, type TypeOfTypeGuard, type Unbox, type UndefinedArrayIsUnknown, type UnionClosure, type UrlMeta, type YouTubeMeta, addFnToProps, addPropsToFn, and, asApi, asArray, asChars, asDate, asEscapeFunction, asIsoDate, asOptionalParamFunction, asPhoneFormat, asRecord, asString, asStringLiteral, asType, asTypeToken, asVueRef, box, boxDictionaryValues, capitalize, choices, createConverter, createCssKeyframe, createCssSelector, createErrorCondition, createFifoQueue, createFixedLengthArray, createFnWithProps, createFnWithPropsExplicit, createLifoQueue, createTypeToken, cssColor, csv, defineCss, defineObj, defineObject, defineTuple, endsWith, ensureLeading, ensureSurround, ensureTrailing, entries, errCondition, filter, find, fnMeta, fromDefineObject, get, getDaysBetween, getEach, getPhoneCountryCode, getTailwindModifiers, getToday, getTokenKind, getTomorrow, getTypeSubtype, getUrlPath, getUrlPort, getUrlProtocol, getUrlQueryParams, getUrlSource, getWeekNumber, getYesterday, getYouTubePageType, handleDoneFn, hasDefaultValue, hasIndexOf, hasKeys, hasUrlPort, hasUrlQueryParameter, hasWhiteSpace, idLiteral, idTypeGuard, identity, ifArray, ifArrayPartial, ifBoolean, ifChar, ifContainer, ifDefined, ifFalse, ifFunction, ifHasKey, ifLength, ifLowercaseChar, ifNotNull, ifNull, ifNumber, ifObject, ifSameType, ifScalar, ifString, ifTrue, ifUndefined, ifUppercaseChar, indexOf, infer, intersect, intersection, ip6GroupExpansion, ip6Prefix, isAccelerationMetric, isAccelerationUom, isAlpha, isAmazonUrl, isApi, isApiSurface, isAppleUrl, isAreaMetric, isAreaUom, isArray, isArrayToken, isAtomicKind, isAtomicToken, isAustralianNewsUrl, isBelgiumNewsUrl, isBestBuyUrl, isBitbucketUrl, isBoolean, isBooleanLike, isBox, isCanadianNewsUrl, isChineseNewsUrl, isCodeCommitUrl, isConstant, isContainer, isContainerToken, isCostCoUrl, isCountryAbbrev, isCountryCode2, isCountryCode3, isCountryName, isCssAspectRatio, isCurrentMetric, isCurrentUom, isCvsUrl, isDanishNewsUrl, isDate, isDefineObject, isDefined, isDellUrl, isDistanceMetric, isDistanceUom, isDomainName, isDoneFn, isDutchNewsUrl, isEbayUrl, isEmail, isEnergyMetric, isEnergyUom, isEqual, isErrorCondition, isEscapeFunction, isEtsyUrl, isFalse, isFalsy, isFnBasedKind, isFnBasedToken, isFnWithParams, isFrenchNewsUrl, isFrequencyMetric, isFrequencyUom, isFunction, isGermanNewsUrl, isGithubIssueUrl, isGithubIssuesListUrl, isGithubOrgUrl, isGithubProjectUrl, isGithubProjectsListUrl, isGithubReleaseTagUrl, isGithubReleasesListUrl, isGithubRepoReleaseTagUrl, isGithubRepoReleasesUrl, isGithubRepoUrl, isGithubUrl, isHexadecimal, isHmUrl, isHomeDepotUrl, isHtmlElement, isIkeaUrl, isIndexable, isIndianNewsUrl, isInlineSvg, isIp4Address, isIp6Address, isIpAddress, isIso3166Alpha2, isIso3166Alpha3, isIso3166CountryCode, isIso3166CountryName, isIsoDate, isIsoDateTime, isIsoExplicitDate, isIsoExplicitTime, isIsoImplicitDate, isIsoImplicitTime, isIsoTime, isIsoYear, isItalianNewsUrl, isJapaneseNewsUrl, isKrogersUrl, isLeapYear, isLength, isLikeRegExp, isLowesUrl, isLuminosityMetric, isLuminosityUom, isLuxonDateTime, isMacysUrl, isMapToken, isMassMetric, isMassUom, isMetric, isMexicanNewsUrl, isMoment, isNever, isNewsUrl, isNikeUrl, isNorwegianNewsUrl, isNotNull, isNothing, isNull, isNumber, isNumberLike, isNumericArray, isNumericString, isObject, isObjectToken, isOptionalParamFunction, isPhoneNumber, isPowerMetric, isPowerUom, isPressureMetric, isPressureUom, isReadonlyArray, isRecordToken, isRef, isRegExp, isRepoSource, isRepoUrl, isResistance, isResistanceUom, isRetailUrl, isSameTypeOf, isScalar, isSemanticVersion, isSet, isSetBasedKind, isSetBasedToken, isSetToken, isShape, isShapeCallback, isSimpleContainerToken, isSimpleContainerTokenTuple, isSimpleScalarToken, isSimpleScalarTokenTuple, isSimpleToken, isSimpleTokenTuple, isSingletonKind, isSingletonToken, isSocialMediaProfileUrl, isSocialMediaUrl, isSouthKoreanNewsUrl, isSpanishNewsUrl, isSpecificConstant, isSpeedMetric, isSpeedUom, isString, isStringArray, isSwissNewsUrl, isSymbol, isTailwindColor, isTailwindColorClass, isTailwindColorName, isTailwindColorTarget, isTailwindColorWithLuminosity, isTailwindColorWithLuminosityAndOpacity, isTailwindModifier, isTargetUrl, isTemperatureMetric, isTemperatureUom, isThenable, isThisMonth, isThisWeek, isThisYear, isTimeMetric, isTimeUom, isToday, isTomorrow, isTrimable, isTrue, isTruthy, isTuple, isTupleToken, isTurkishNewsUrl, isTypeOf, isTypeSubtype, isTypeToken, isTypeTokenKind, isTypeTuple, isUkNewsUrl, isUndefined, isUnset, isUom, isUri, isUrl, isUrlPath, isUrlSource, isUsNewsUrl, isUsStateAbbreviation, isUsStateName, isVoltageMetric, isVoltageUom, isVolumeMetric, isVolumeUom, isWalgreensUrl, isWalmartUrl, isWayfairUrl, isWholeFoodsUrl, isYesterday, isYouTubeCreatorUrl, isYouTubeFeedHistoryUrl, isYouTubeFeedUrl, isYouTubePlaylistUrl, isYouTubePlaylistsUrl, isYouTubeShareUrl, isYouTubeSubscriptionsUrl, isYouTubeTrendingUrl, isYouTubeUrl, isYouTubeVideoUrl, isYouTubeVideosInPlaylist, isZaraUrl, isZipCode, isZipCode5, isZipPlus4, joinWith, jsonValue, jsonValues, keysOf, kindLiteral, last, list, literal, logicalReturns, lookupCountryAlpha2, lookupCountryAlpha3, lookupCountryCode, lookupCountryName, lowercase, mergeObjects, mergeScalars, mergeTuples, nameLiteral, narrow, never, omit, optional, optionalOrNull, or, orNull, pathJoin, pluralize, removePhoneCountryCode, removeTailwindModifiers, removeUrlProtocol, result, retain, retainAfter, retainAfterInclusive, retainChars, retainUntil, retainUntilInclusive, retainWhile, reverse, rightWhitespace, shape, sharedKeys, shift, simpleContainerToken, simpleContainerTokenToTypeToken, simpleContainerType, simpleScalarToken, simpleScalarTokenToTypeToken, simpleScalarType, simpleToken, simpleType, simpleUnionTokenToTypeToken, slice, split, startsWith, stripAfter, stripBefore, stripChars, stripLeading, stripParenthesis, stripSurround, stripTrailing, stripUntil, stripWhile, surround, takeNumericCharacters, takeProp, toCamelCase, toKebabCase, toNumber, toNumericArray, toPascalCase, toSnakeCase, toString, toUppercase, trim, trimEnd, trimLeft, trimRight, trimStart, truncate, tuple, twColor, unbox, uncapitalize, union, unionize, unique, uniqueKeys, unset, uppercase, urlMeta, valuesOf, widen, withDefaults, withKeys, withoutKeys, withoutValue, wrapFn, youtubeEmbed, youtubeMeta };
|
|
14859
|
+
export { type AsClassSelector, type AsList, type BoxValue, type BoxedFnParams, type CssKeyframeCallback, type CssSelectorOptions, type CsvFormat, type EndingWithTypeGuard, type EqualTo, type Finder, type FnParam, type FnParams, type GenParam, type GenParams, type GetEachOptions, type GetInference, type GetInferenceProps, type GetOptions, type Joiner, type KeyframeApi, type Mapper, type Rtn, ShapeApiImplementation, type SingletonClosure, type StartingWithTypeGuard, type StripSurroundConfigured, type SurroundWith, type TokenContainerClosure, type TokenFunctionClosure, type TokenSetClosure, type TypeOfTypeGuard, type Unbox, type UndefinedArrayIsUnknown, type UnionClosure, type UrlMeta, type YouTubeMeta, addFnToProps, addPropsToFn, and, asApi, asArray, asChars, asDate, asEscapeFunction, asIsoDate, asOptionalParamFunction, asPhoneFormat, asRecord, asString, asStringLiteral, asType, asTypeToken, asVueRef, box, boxDictionaryValues, capitalize, choices, createConverter, createCssKeyframe, createCssSelector, createErrorCondition, createFifoQueue, createFixedLengthArray, createFnWithProps, createFnWithPropsExplicit, createLifoQueue, createMapper, createObjectMap, createTypeToken, cssColor, csv, defineCss, defineObj, defineObject, defineObjectApi, defineTuple, endsWith, ensureLeading, ensureSurround, ensureTrailing, entries, errCondition, filter, find, fnMeta, fromDefineObject, get, getDaysBetween, getEach, getPhoneCountryCode, getTailwindModifiers, getToday, getTokenKind, getTomorrow, getTypeSubtype, getUrlPath, getUrlPort, getUrlProtocol, getUrlQueryParams, getUrlSource, getWeekNumber, getYesterday, getYouTubePageType, handleDoneFn, hasDefaultValue, hasIndexOf, hasKeys, hasUrlPort, hasUrlQueryParameter, hasWhiteSpace, idLiteral, idTypeGuard, identity, ifArray, ifArrayPartial, ifBoolean, ifChar, ifContainer, ifDefined, ifFalse, ifFunction, ifHasKey, ifLength, ifLowercaseChar, ifNotNull, ifNull, ifNumber, ifObject, ifSameType, ifScalar, ifString, ifTrue, ifUndefined, ifUppercaseChar, indexOf, infer, intersect, intersection, ip6GroupExpansion, ip6Prefix, isAccelerationMetric, isAccelerationUom, isAlpha, isAmazonUrl, isApi, isApiSurface, isAppleUrl, isAreaMetric, isAreaUom, isArray, isArrayToken, isAtomicKind, isAtomicToken, isAustralianNewsUrl, isBelgiumNewsUrl, isBestBuyUrl, isBitbucketUrl, isBoolean, isBooleanLike, isBox, isCanadianNewsUrl, isChineseNewsUrl, isCodeCommitUrl, isConstant, isContainer, isContainerToken, isCostCoUrl, isCountryAbbrev, isCountryCode2, isCountryCode3, isCountryName, isCssAspectRatio, isCurrentMetric, isCurrentUom, isCvsUrl, isDanishNewsUrl, isDate, isDefineObject, isDefined, isDellUrl, isDistanceMetric, isDistanceUom, isDomainName, isDoneFn, isDutchNewsUrl, isEbayUrl, isEmail, isEnergyMetric, isEnergyUom, isEqual, isErrorCondition, isEscapeFunction, isEtsyUrl, isFalse, isFalsy, isFnBasedKind, isFnBasedToken, isFnWithParams, isFrenchNewsUrl, isFrequencyMetric, isFrequencyUom, isFunction, isGermanNewsUrl, isGithubIssueUrl, isGithubIssuesListUrl, isGithubOrgUrl, isGithubProjectUrl, isGithubProjectsListUrl, isGithubReleaseTagUrl, isGithubReleasesListUrl, isGithubRepoReleaseTagUrl, isGithubRepoReleasesUrl, isGithubRepoUrl, isGithubUrl, isHexadecimal, isHmUrl, isHomeDepotUrl, isHtmlElement, isIkeaUrl, isIndexable, isIndianNewsUrl, isInlineSvg, isIp4Address, isIp6Address, isIpAddress, isIso3166Alpha2, isIso3166Alpha3, isIso3166CountryCode, isIso3166CountryName, isIsoDate, isIsoDateTime, isIsoExplicitDate, isIsoExplicitTime, isIsoImplicitDate, isIsoImplicitTime, isIsoTime, isIsoYear, isItalianNewsUrl, isJapaneseNewsUrl, isKrogersUrl, isLeapYear, isLength, isLikeRegExp, isLowesUrl, isLuminosityMetric, isLuminosityUom, isLuxonDateTime, isMacysUrl, isMapToken, isMassMetric, isMassUom, isMetric, isMexicanNewsUrl, isMoment, isNever, isNewsUrl, isNikeUrl, isNorwegianNewsUrl, isNotNull, isNothing, isNull, isNumber, isNumberLike, isNumericArray, isNumericString, isObject, isObjectToken, isOptionalParamFunction, isPhoneNumber, isPowerMetric, isPowerUom, isPressureMetric, isPressureUom, isReadonlyArray, isRecordToken, isRef, isRegExp, isRepoSource, isRepoUrl, isResistance, isResistanceUom, isRetailUrl, isSameTypeOf, isScalar, isSemanticVersion, isSet, isSetBasedKind, isSetBasedToken, isSetToken, isShape, isShapeCallback, isSimpleContainerToken, isSimpleContainerTokenTuple, isSimpleScalarToken, isSimpleScalarTokenTuple, isSimpleToken, isSimpleTokenTuple, isSingletonKind, isSingletonToken, isSocialMediaProfileUrl, isSocialMediaUrl, isSouthKoreanNewsUrl, isSpanishNewsUrl, isSpecificConstant, isSpeedMetric, isSpeedUom, isString, isStringArray, isSwissNewsUrl, isSymbol, isTailwindColor, isTailwindColorClass, isTailwindColorName, isTailwindColorTarget, isTailwindColorWithLuminosity, isTailwindColorWithLuminosityAndOpacity, isTailwindModifier, isTargetUrl, isTemperatureMetric, isTemperatureUom, isThenable, isThisMonth, isThisWeek, isThisYear, isTimeMetric, isTimeUom, isToday, isTomorrow, isTrimable, isTrue, isTruthy, isTuple, isTupleToken, isTurkishNewsUrl, isTypeOf, isTypeSubtype, isTypeToken, isTypeTokenKind, isTypeTuple, isUkNewsUrl, isUndefined, isUnset, isUom, isUri, isUrl, isUrlPath, isUrlSource, isUsNewsUrl, isUsStateAbbreviation, isUsStateName, isVoltageMetric, isVoltageUom, isVolumeMetric, isVolumeUom, isWalgreensUrl, isWalmartUrl, isWayfairUrl, isWholeFoodsUrl, isYesterday, isYouTubeCreatorUrl, isYouTubeFeedHistoryUrl, isYouTubeFeedUrl, isYouTubePlaylistUrl, isYouTubePlaylistsUrl, isYouTubeShareUrl, isYouTubeSubscriptionsUrl, isYouTubeTrendingUrl, isYouTubeUrl, isYouTubeVideoUrl, isYouTubeVideosInPlaylist, isZaraUrl, isZipCode, isZipCode5, isZipPlus4, joinWith, jsonValue, jsonValues, keysOf, kindLiteral, last, list, literal, logicalReturns, lookupCountryAlpha2, lookupCountryAlpha3, lookupCountryCode, lookupCountryName, lowercase, mergeObjects, mergeScalars, mergeTuples, nameLiteral, narrow, narrowObjectTo, narrowObjectToType, never, objectToApi, omit, optional, optionalOrNull, or, orNull, pathJoin, pluralize, removePhoneCountryCode, removeTailwindModifiers, removeUrlProtocol, result, retain, retainAfter, retainAfterInclusive, retainChars, retainUntil, retainUntilInclusive, retainWhile, reverse, rightWhitespace, shape, sharedKeys, shift, simpleContainerToken, simpleContainerTokenToTypeToken, simpleContainerType, simpleScalarToken, simpleScalarTokenToTypeToken, simpleScalarType, simpleToken, simpleType, simpleUnionTokenToTypeToken, slice, split, startsWith, stripAfter, stripBefore, stripChars, stripLeading, stripParenthesis, stripSurround, stripTrailing, stripUntil, stripWhile, surround, takeNumericCharacters, takeProp, toCamelCase, toKebabCase, toNumber, toNumericArray, toPascalCase, toSnakeCase, toString, toUppercase, trim, trimEnd, trimLeft, trimRight, trimStart, truncate, tuple, twColor, unbox, uncapitalize, union, unionize, unique, uniqueKeys, unset, uppercase, urlMeta, valuesOf, widen, withDefaults, withKeys, withoutKeys, withoutValue, wrapFn, youtubeEmbed, youtubeMeta };
|