import type { Combine } from './combine'; import type { ExtractOptional } from './extract/extract-optional'; import type { ExtractRequired } from './extract/extract-required'; import type { Primitive } from './primitive'; import type { Where } from './where'; export type OmitExactOptionalUndefined = T extends Primitive ? T extends undefined ? never : T : T extends (infer U)[] ? T : Combine & Omit, Where, undefined>>>;