import { DatabaseInterface, MinorUnitsPreflightResult, MinorUnitsRescaleResult, MoneyColumnTarget } from '@happyvertical/smrt-core/migrations'; /** Marker recorded in `_smrt_backfills` once the rescale has run. */ export declare const SUBSCRIPTIONS_MONEY_MINOR_UNITS_BACKFILL = "@happyvertical/smrt-subscriptions:money-minor-units:v1"; /** * Every subscriptions money column that held major units before #2401. * * `quantity` columns are absent on purpose: metered quantities are genuinely * fractional and stay DECIMAL. */ export declare const SUBSCRIPTIONS_MONEY_COLUMNS: MoneyColumnTarget[]; /** * Report what {@link migrateSubscriptionsMoneyToMinorUnits} would do, without * writing anything. */ export declare function preflightSubscriptionsMoneyMinorUnits(db: DatabaseInterface, options?: { scale?: number; engineHint?: string; }): Promise; /** * Convert every subscriptions money column from floating-point major units to * integer minor units. Idempotent via a `_smrt_backfills` marker. * * @throws `MinorUnitsPreflightError` when a row would be rounded or would * overflow `int4` and `force` was not set. */ export declare function migrateSubscriptionsMoneyToMinorUnits(db: DatabaseInterface, options?: { scale?: number; engineHint?: string; force?: boolean; }): Promise; //# sourceMappingURL=moneyMinorUnits.d.ts.map