type IsAny = 0 extends 1 & T ? true : false; type Clean = Exclude; type CollapsibleKeys = IsAny extends true ? TPrefix extends '' ? never : TPrefix : T extends ReadonlyArray ? (TPrefix extends '' ? '' : TPrefix) | CollapsibleKeys : T extends object ? (TPrefix extends '' ? '' : TPrefix) | { [K in Extract]: CollapsibleKeys; }[Extract] : never; export type CollapsiblePaths = CollapsibleKeys> extends infer P ? P extends string ? P : never : never; export {};