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< T[K], TPrefix extends '' ? `${K}` : `${TPrefix}.${K}` > }[Extract] : never export type CollapsiblePaths = CollapsibleKeys> extends infer P ? P extends string ? P : never : never