/** * negates boolean `T` * * @remarks * distributes over `T`. this way `Not` is still `boolean` * * @undefined_behavior `T` is `any`, `unknown`, or `never` * * @since 0.0.2 * * @example * ```ts * type e0 = Not // never * type e1 = Not // true * type e2 = Not // false * type e3 = Not // boolean * ``` */ export type Not = T extends true ? false : true; export declare namespace Not { /** * negates boolean `T` * * @remarks * does not distribute over `T` * * @undefined_behavior `T` is `any`, `unknown`, `never`, or `boolean` * * @since 0.0.9 */ type Nondistributive = [ T ] extends [true] ? false : true; } //# sourceMappingURL=not.d.ts.map