import { SmrtCollection } from '@happyvertical/smrt-core'; import { CommissionAdjustment } from '../models/CommissionAdjustment.js'; export declare class CommissionAdjustmentCollection extends SmrtCollection { static readonly _itemClass: typeof CommissionAdjustment; /** All adjustments appended to one commission, oldest first. */ findByCommission(commissionId: string): Promise; /** Unsettled adjustments for an earner+currency, oldest first. */ findUnsettledByEarner(earnerId: string, currency: string): Promise; /** * Σ signed amountCents of {@link findUnsettledByEarner} rows (integer * cents; clawbacks make it negative). */ sumUnsettledByEarner(earnerId: string, currency: string): Promise; /** Adjustments settled by one payout batch. */ findByPayout(payoutId: string): Promise; /** * Adjustments settled by ANY of the given payout batches, in one `IN` * query — the adjustment twin of `CommissionCollection.findByPayouts`. * Empty input returns `[]` without querying. */ findByPayouts(payoutIds: string[]): Promise; /** * Conditionally claim adjustment rows for a payout batch — the adjustment * twin of `CommissionCollection.claimForPayout`. Rows already claimed by a * DIFFERENT payout are skipped; rows already claimed by THIS payout pass * through (idempotent retry / repair); every claim is verified by a * post-save re-read. Reads/writes go through the model layer, so this * respects the tenancy interceptor and the dialect's empty-FK encoding. * Not a cross-row transaction — safe concurrency relies on disjoint batch * scopes (see `CommissionPayoutService`). Returns the claimed rows. */ claimForPayout(adjustmentIds: string[], payoutId: string): Promise; } export default CommissionAdjustmentCollection; //# sourceMappingURL=CommissionAdjustmentCollection.d.ts.map