type Head = T extends `${infer First}.${string}` ? First : T; type Tail = T extends `${string}.${infer Rest}` ? Rest : never; export type DeepPick = T extends object ? { [P in Head & keyof T]: T[P] extends readonly unknown[] ? DeepPick>>[] : DeepPick>>; } : T; export {};