import { type ColumnType } from 'kysely'; import type { Hex } from 'ox'; import type { Address } from 'viem'; import type * as Db from '../Db.js'; import type * as db_Schema from '../Schema.js'; /** Columns of the `reward_eligibility_associations` table. */ export type Table = Omit & { /** Bigint chain id, read as a string from pg and written as a number. */ chainId: ColumnType; /** Database-assigned monotonic registration order. */ registrationOrder: ColumnType; /** Optional transaction hash, stored as nullable text. */ transactionHash: Hex.Hex | null; }; /** A stored reward eligibility association. */ export type Record = db_Schema.RewardEligibilityAssociation; /** Inserts or refreshes one eligibility association. */ export declare function upsert(db: Db.Db, options: upsert.Options): Promise; export declare namespace upsert { /** Fields supplied by one authorized registration source. */ type Options = { /** Chain containing the vault. */ chainId: number; /** Transaction establishing the eligibility association, when available. */ transactionHash?: Hex.Hex | undefined; /** Earn vault address. */ vaultAddress: Address; /** Eligible wallet address. */ walletAddress: Address; }; /** Persisted association and whether this call inserted it. */ type Result = { /** Whether this call inserted the association. */ created: boolean; /** Persisted association after the write. */ record: Record; }; } /** Lists one vault's associations within a fixed high-water checkpoint. */ export declare function list(db: Db.Db, options: list.Options): Promise; export declare namespace list { /** One checkpointed eligibility page selector. */ type Options = { /** Chain containing the vault. */ chainId: number; /** Opaque cursor carrying the checkpoint and last registration order. */ cursor?: string | undefined; /** Maximum associations to return. */ limit: number; /** Earn vault address. */ vaultAddress: Address; }; /** One fixed-snapshot eligibility page. */ type Result = { /** Persisted associations in registration order. */ data: Record[]; /** Cursor for the next page, or null at the end. */ nextCursor: string | null; }; } //# sourceMappingURL=rewardEligibilityAssociations.d.ts.map