import { type SQL, type AnyColumn } from "drizzle-orm"; /** * TiDB / MySQL window function fragments. * These helpers generate only the function call; use Drizzle `sql` to append `OVER (...)`. * * Example: `sql`${rowNumber()} OVER (PARTITION BY ${t.groupId} ORDER BY ${t.id})`` */ export type WindowSqlInput = SQL | AnyColumn | string | number | boolean; /** `CUME_DIST()` */ export declare function cumeDist(): SQL; /** `DENSE_RANK()` */ export declare function denseRank(): SQL; /** `FIRST_VALUE(expr)` */ export declare function firstValue(expr: WindowSqlInput): SQL; /** `LAG(expr [, offset [, default]])` */ export declare function lag(expr: WindowSqlInput, offset?: WindowSqlInput, defaultValue?: WindowSqlInput): SQL; /** `LAST_VALUE(expr)` */ export declare function lastValue(expr: WindowSqlInput): SQL; /** `LEAD(expr [, offset [, default]])` */ export declare function lead(expr: WindowSqlInput, offset?: WindowSqlInput, defaultValue?: WindowSqlInput): SQL; /** `NTH_VALUE(expr, n)` */ export declare function nthValue(expr: WindowSqlInput, n: WindowSqlInput): SQL; /** `NTILE(n)` */ export declare function ntile(n: WindowSqlInput): SQL; /** `PERCENT_RANK()` */ export declare function percentRank(): SQL; /** `RANK()` */ export declare function rank(): SQL; /** `ROW_NUMBER()` */ export declare function rowNumber(): SQL; //# sourceMappingURL=WindowTiDB.d.ts.map