export type NoInfer = [T][T extends never ? 0 : never]; export type WithRequired = T & { [P in K]-?: T[P]; };