import { type SQL, type AnyColumn } from "drizzle-orm"; /** * TiDB / MySQL numeric expressions for Drizzle `sql` fragments. * @see https://docs.pingcap.com/tidb/stable/numeric-functions-and-operators * * Use `count`, `sum`, `avg`, `min`, `max`, and `*Distinct` variants from `drizzle-orm` * instead of re-wrapping aggregate functions here. */ export type NumericSqlInput = SQL | AnyColumn | string | number | boolean; /** `(a + b)` */ export declare function numAdd(a: NumericSqlInput, b: NumericSqlInput): SQL; /** `(a - b)` */ export declare function numSub(a: NumericSqlInput, b: NumericSqlInput): SQL; /** `(a * b)` */ export declare function numMul(a: NumericSqlInput, b: NumericSqlInput): SQL; /** `(a / b)` — floating-point division */ export declare function numDiv(a: NumericSqlInput, b: NumericSqlInput): SQL; /** `(a DIV b)` — integer division */ export declare function numDivInt(a: NumericSqlInput, b: NumericSqlInput): SQL; /** `(a % b)` */ export declare function numModOp(a: NumericSqlInput, b: NumericSqlInput): SQL; /** Unary minus `(-a)` */ export declare function numNeg(a: NumericSqlInput): SQL; /** `ABS(x)` */ export declare function abs(x: NumericSqlInput): SQL; /** `ACOS(x)` */ export declare function acos(x: NumericSqlInput): SQL; /** `ASIN(x)` */ export declare function asin(x: NumericSqlInput): SQL; /** `ATAN(x)` */ export declare function atan(x: NumericSqlInput): SQL; /** `ATAN2(y, x)` */ export declare function atan2(y: NumericSqlInput, x: NumericSqlInput): SQL; /** `CEIL(x)` */ export declare function ceil(x: NumericSqlInput): SQL; /** `CEILING(x)` — synonym for `CEIL` */ export declare function ceiling(x: NumericSqlInput): SQL; /** `CONV(n, from_base, to_base)` */ export declare function conv(n: NumericSqlInput, fromBase: NumericSqlInput, toBase: NumericSqlInput): SQL; /** `COS(x)` */ export declare function cos(x: NumericSqlInput): SQL; /** `COT(x)` */ export declare function cot(x: NumericSqlInput): SQL; /** `CRC32(expr)` */ export declare function crc32(expr: NumericSqlInput): SQL; /** `DEGREES(x)` */ export declare function degrees(x: NumericSqlInput): SQL; /** `EXP(x)` */ export declare function exp(x: NumericSqlInput): SQL; /** `FLOOR(x)` */ export declare function floor(x: NumericSqlInput): SQL; /** `LN(x)` */ export declare function ln(x: NumericSqlInput): SQL; /** `LOG(x)` — natural logarithm (single-argument form) */ export declare function log(x: NumericSqlInput): SQL; /** `LOG(base, x)` — logarithm of x to the given base */ export declare function logBase(base: NumericSqlInput, x: NumericSqlInput): SQL; /** `LOG10(x)` */ export declare function log10(x: NumericSqlInput): SQL; /** `LOG2(x)` — base-2 logarithm */ export declare function logBase2(x: NumericSqlInput): SQL; /** `MOD(a, b)` */ export declare function mod(a: NumericSqlInput, b: NumericSqlInput): SQL; /** `PI()` */ export declare function pi(): SQL; /** `POW(x, y)` */ export declare function pow(x: NumericSqlInput, y: NumericSqlInput): SQL; /** `POWER(x, y)` — synonym for `POW` */ export declare function power(x: NumericSqlInput, y: NumericSqlInput): SQL; /** `RADIANS(x)` */ export declare function radians(x: NumericSqlInput): SQL; /** `RAND()` or `RAND(seed)` */ export declare function rand(seed?: NumericSqlInput): SQL; /** `ROUND(x [, d])` */ export declare function round(x: NumericSqlInput, d?: NumericSqlInput): SQL; /** `SIGN(x)` */ export declare function sign(x: NumericSqlInput): SQL; /** `SIN(x)` */ export declare function sin(x: NumericSqlInput): SQL; /** `SQRT(x)` */ export declare function sqrt(x: NumericSqlInput): SQL; /** `TAN(x)` */ export declare function tan(x: NumericSqlInput): SQL; /** `TRUNCATE(x, d)` */ export declare function truncateTo(x: NumericSqlInput, d: NumericSqlInput): SQL; //# sourceMappingURL=NumericTiDB.d.ts.map