import { Builtin } from "../built-in"; export type DeepNonNullable = Type extends Builtin ? NonNullable : Type extends Map ? Map, DeepNonNullable> : Type extends ReadonlyMap ? ReadonlyMap, DeepNonNullable> : Type extends WeakMap ? WeakMap, DeepNonNullable> : Type extends Set ? Set> : Type extends ReadonlySet ? ReadonlySet> : Type extends WeakSet ? WeakSet> : Type extends Promise ? Promise> : Type extends {} ? { [Key in keyof Type]: DeepNonNullable; } : NonNullable;