import type { Primitive } from './literal.js'; export type DeepNonNullable = T extends Primitive ? T : T extends ReadonlyArray ? DeepNonNullableArray : T extends ReadonlyMap ? DeepNonNullableMap : T extends ReadonlySet ? DeepNonNullableSet : DeepNonNullableObject; type DeepNonNullableArray = Array>; type DeepNonNullableMap = Map, DeepNonNullable>; type DeepNonNullableSet = Set>; type DeepNonNullableObject = { [K in keyof T]-?: NonNullable };