import type { False, True } from '../bool.js'; import type { If } from '../common.js'; import type { Assume, HKT1, HKT2, HKT3, Pipe1 } from '../hkt.js'; import type { List } from '../list.js'; import type { Str } from '../str.js'; export type Num = number; export declare namespace Num { type IsPos = `${N}` extends `-${string}` ? False : True; interface IsPos$ extends HKT1 { new: (n: Assume) => IsPos; } type isNeg = `${N}` extends `-${string}` ? True : False; interface IsNeg$ extends HKT1 { new: (n: Assume) => isNeg; } type IsNat = T extends | string | number | bigint | boolean | null | undefined ? Pipe1, List.Every$> : False; interface IsNat$ extends HKT1 { new: (x: Assume) => IsNat; } type IfNat = If, Then, Else>; interface IfNat$ extends HKT1 { new: (x: Assume) => IfNat; } interface IfNat$$ extends HKT2 { new: ( x: Assume, then: Assume, ) => IfNat; } interface IfNat$$$ extends HKT3 { new: ( x: Assume, then: Assume, else_: Assume, ) => IfNat; } } export type * from './int.js'; export type * from './nat.js'; //# sourceMappingURL=index.d.ts.map