import { Union, Misc } from 'ts-toolbelt'; type _NonNullable = { [K in keyof O]-?: O[K] extends Misc.BuiltIn | Ignore ? O[K] : _NonNullable, Ignore>; }; export type NonNullable = O extends unknown ? _NonNullable : never; export {};