export type ValueOf = T[keyof T]; export type ExtractType = T extends { type: infer U; } ? U : string; export type WithRequiredFields = Exclude & Required>;