export type Key = number | string | symbol; export type Indices = Exclude< Partial["length"], T["length"] >; export type InferKR< Records extends readonly Record[], Keys extends readonly [...Key[]], > = { [K in Indices as K extends number ? Keys[K] : never]: K extends number ? Records[K] : never; };