WithUndefinedAsOptionaltstype WithUndefinedAsOptional<T>: { [key in keyof T]?: T[key] } & { [key in DefinedKeys<T>]-?: T[key] }; WithUndefinedAsOptional<{a: number|undefined, b: number, c: any}> => {a?: number|undefined, b:number, c?: any} Type parameters Type parameterT extends object