import { A as Add, N as Negative, a as Absolute, I as IsLower, S as Substract } from './chunks/CM89_aaq.js';
import { z as IsAnyNumber, D as IsAnyDecimal, p as IsZero, w as IsAllPositive, x as IsAllNegative, l as IsEqual, s as IsNegative } from './chunks/DZEfmVOc.js';
import './BooleanNor.js';
import './BooleanNot.js';
import './BooleanOr.js';
import './Tuple.js';
import './TupleLength.js';
import './BooleanAnd.js';
import './MaybeReadonly.js';
/**
* Sum of two integers.
*
* @template A The first integer.
* @template B The second integer.
* @returns The sum of the two integers.
* @example MathAdd<1, 2> // 3
*/
type MathAdd = IsAnyNumber extends true ? number : IsAnyDecimal extends true ? number : IsZero extends true ? B : IsZero extends true ? A : IsAllPositive extends true ? Add : IsAllNegative extends true ? Negative, Absolute>> : IsEqual, Absolute> extends true ? 0 : IsNegative extends true ? IsLower, B> extends true ? Substract> : Negative, B>> : IsNegative extends true ? IsLower, A> extends true ? Substract> : Negative, A>> : never;
export type { MathAdd };