export type GetFieldsFromList> = { [K in keyof T]: T[K] extends Array ? U : never; }[keyof T]; export type GetFields, K = keyof T> = { [P in keyof NonNullable]: NonNullable[P]; }; // get "object" field from given type export type GetVariables> = GetFields;