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.
@@ -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}: 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}: true}>` | `Dict<{${string}: false}>` | `Dict<{${string}: any}>` | `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}: 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}: true, ${string}: ${string}}` | `Dict<{${string}: false, ${string}: ${string}}` | `Dict<{${string}: any, ${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}}`];
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> = TypeFromDefineObject<MakeKeysOptional<_FromDefineObject<Required<T>>, UnionToTuple$1<OptionalKeys<T>> extends readonly ObjectKey[] ? UnionToTuple$1<OptionalKeys<T>> : never>>;
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
- type Process$c<TKeys extends readonly string[], TValue, TObj extends Dictionary = EmptyObject> = [] extends TKeys ? TObj : Process$c<AfterFirst<TKeys>, TValue, TObj & Record<First<TKeys>, TValue>>;
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$c<TKeys, TValue>>;
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$2<TKeys extends readonly ObjectKey[], TObj extends Record<ObjectKey, unknown>, TResult extends readonly unknown[] = []> = [] extends TKeys ? TResult : Process$2<AfterFirst<TKeys>, TObj, [
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$2<Keys<T> extends readonly ObjectKey[] ? Keys<T> : never, T> : T extends TypedFunction ? [T] : [];
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 InferenceVars<T extends string, V extends readonly [str: string[], num: string[], bool: string[]] = [[], [], []]> = T extends `${string}{{${OptSpace}infer ${infer Var} extends ${infer Type extends Ext}${OptSpace}}}${infer REST}` ? Type extends "number" ? InferenceVars<REST, [V[0], [...V[1], Var], V[2]]> : Type extends "boolean" ? InferenceVars<REST, [V[0], V[1], [...V[2], Var]]> : InferenceVars<REST, [[...V[0], Var], V[1], V[2]]> : T extends `${string}{{${OptSpace}infer ${infer Var}${OptSpace}as ${infer Type extends Ext}${OptSpace}}}${infer REST}` ? Type extends "number" ? InferenceVars<REST, [V[0], [...V[1], Var], V[2]]> : Type extends "boolean" ? InferenceVars<REST, [V[0], V[1], [...V[2], Var]]> : InferenceVars<REST, [[...V[0], Var], V[1], V[2]]> : T extends `${string}{{${OptSpace}infer ${infer Var}${OptSpace}}}${infer REST}` ? InferenceVars<REST, [[...V[0], Var], V[1], V[2]]> : V;
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 segments or not
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
- type GetInference<TPattern extends string> = <T extends string>(test: T) => Shape<TPattern> | false;
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}` | `0${string}:${string}` | `1${string}:${string}` | `2${string}:${string}` | `3${string}:${string}` | `4${string}:${string}` | `5${string}:${string}` | `6${string}:${string}` | `7${string}:${string}` | `8${string}:${string}` | `9${string}:${string}` | `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}`));
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 };