export type InferIterableValues> = TIterable extends Iterable ? TValue : never; /* KEY / VALUE */ export type InferKeyValueIterableKeys> = TMap extends Iterable<[infer TKeys, any]> ? TKeys : never; export type InferKeyValueIterableValues> = TMap extends Iterable<[any, infer TValues]> ? TValues : never; export type InferKeyValueIterableTupleKeys[]> = { [TKey in Extract]: InferKeyValueIterableKeys; }[number]; export type InferKeyValueIterableTupleValues[]> = { [TKey in Extract]: InferKeyValueIterableValues; }[number];