import type { ColumnType, JSONColumnType } from 'kysely'; import type { Address } from 'viem'; import type * as Campaigns from '../../internal/rewards/Campaigns.js'; import type * as Db from '../Db.js'; import type * as db_Schema from '../Schema.js'; /** Columns of the `reward_accounts` table. */ export type Table = Omit & { /** Bigint chain id, read as a string from pg and written as a number. */ chainId: ColumnType; /** Surviving qualified deposit lots. */ lots: JSONColumnType; }; /** A stored current recipient projection. */ export type Record = db_Schema.RewardAccount; /** Reads one recipient projection. */ export declare function get(db: Db.Db, options: get.Options): Promise; export declare namespace get { /** Recipient projection identity. */ type Options = { /** Chain containing the vault. */ chainId: number; /** Registered recipient. */ recipient: string; /** EarnVault address. */ vaultAddress: string; }; } /** Lists one campaign's current recipient projections. */ export declare function list(db: Db.Db, options: list.Options): Promise; export declare namespace list { /** Campaign identity. */ type Options = { /** Chain containing the vault. */ chainId: number; /** EarnVault address. */ vaultAddress: string; }; } /** Summarizes current unpaid cumulative entitlement for operations. */ export declare function unpaid(db: Db.Db, options: unpaid.Options): Promise; export declare namespace unpaid { /** Campaign selector. */ type Options = { /** Chain containing the vault. */ chainId: number; /** EarnVault address. */ vaultAddress: string; }; /** Current unpaid totals. */ type Result = { /** Unpaid EarnShare units. */ earnShares: string; /** Recipients with a positive unpaid delta. */ recipients: number; }; } /** Atomically replaces delivered projections for one campaign. */ export declare function replace(db: Db.Db, options: replace.Options): Promise; export declare namespace replace { /** Closing projections for one delivered run. */ type Options = { /** Recipient projections without campaign identity. */ accounts: readonly Omit[]; /** Chain containing the vault. */ chainId: number; /** EarnVault address. */ vaultAddress: Address; }; } /** * Clears deposit-derived state for the given recipients. A zero-state account * without a registration version is replayed from history by the next run. */ export declare function resetPrincipal(db: Db.Db, options: resetPrincipal.Options): Promise; export declare namespace resetPrincipal { /** Recipients whose deposit-derived state is cleared. */ type Options = { /** Chain containing the vault. */ chainId: number; /** Registered recipients to reset. */ recipients: readonly string[]; /** EarnVault address. */ vaultAddress: string; }; } //# sourceMappingURL=rewardAccounts.d.ts.map