/** * If the type is possibly null or undefined. */ export declare type IsNullable = T extends null | undefined ? true : never; /** * If the type is not possibly null or undefined. */ export declare type IsNonNullable = IsNever>; /** * If the type has the specified type. */ export declare type HasType = T extends U ? true : never; /** * If the type does not have the specified type. */ export declare type NotHasType = IsNever>; /** * If the type is the never type. */ export declare type IsNever = HasType; /** * If the type is the exact type. * @remarks This is useful for checking if two union types match exactly. */ export declare type IsExactType = Exclude extends never ? Exclude extends never ? true : never : never;