type Target<T extends Record<string, Record<string, unknown>>> = UnionToIntersection<{
[K1 in keyof T & string]: {
[K2 in keyof T[K1] & string]: { [KF in `${K1}_${K2}`]: T[K1][K2] };
}[keyof T[K1] & string];
}[keyof T & string]>;
type UnionToIntersection<U> = (U extends unknown ? (k: U) => void : never) extends ((k: infer I) => void) ? I : never;
type UserTarget1 = Target<user>
interface UserTarget2 extends Target<user> {}