import { type Selectable } from 'kysely';
import type * as Db from '../Db.js';
import type * as db_Schema from '../Schema.js';
/** Columns of the `routes_subsidies` table. */
export type Table = db_Schema.RoutesSubsidy;
/** A stored Routes subsidy policy. */
export type Record = Selectable
;
/** Locks organization subsidy liability changes inside the caller's transaction. */
export declare function lockOrganization(db: Db.Db, orgId: string): Promise;
/** Reads an organization's default Routes subsidy policy. */
export declare function getOrganization(db: Db.Db, orgId: string): Promise;
/** Enables or replaces an organization's Routes subsidy policy. */
export declare function upsertOrganization(db: Db.Db, input: upsertOrganization.Input): Promise;
export declare namespace upsertOrganization {
/** Fields accepted when enabling or replacing a Routes subsidy policy. */
type Input = {
/** Interval over which the subsidy limit applies. */
frequency: 'tx';
/** Maximum Routes subsidy gap in decimal USD. */
maxAmount: string;
/** Organization id (`org_…`) the policy belongs to. */
orgId: string;
};
}
/** Disables an organization's Routes subsidy policy. */
export declare function removeOrganization(db: Db.Db, orgId: string): Promise;
//# sourceMappingURL=routesSubsidies.d.ts.map