import { type Address } from 'viem'; import type * as Tidx from '../Tidx.js'; import type * as Campaigns from './Campaigns.js'; import type * as Projection from './Projection.js'; /** Resolves the final indexed block strictly before one interval boundary. */ export declare function boundary(tidx: Tidx.Client, timestamp: number): Promise; /** Builds the strict TIDX block-boundary query used by reward accounting. */ export declare function boundaryQuery(timestamp: number): string; export declare namespace boundary { /** Indexed block anchoring one accounting boundary. */ type Result = { /** Indexed Tempo block number. */ blockNumber: number; /** Indexed block timestamp. */ timestamp: number; }; } /** Streams canonically ordered deposits and transfers involving tracked reward accounts. */ export declare function accountEventPages(tidx: Tidx.Client, options: accountEventPages.Options): AsyncGenerator; /** Builds the tracked-account event query used by reward projections. */ export declare function accountEventsQuery(options: accountEventsQuery.Options): string; /** Reads distinct EarnShare supply-change blocks in canonical order. */ export declare function capitalChanges(tidx: Tidx.Client, options: capitalChanges.Options): Promise; /** Builds the supply-change block query used by target-yield accounting. */ export declare function capitalChangesQuery(options: capitalChanges.Options): string; export declare namespace capitalChanges { /** Supply-change block range. */ type Options = { /** Exclusive opening block. */ afterBlock: number; /** EarnShare token address. */ earnShare: Address; /** Inclusive closing block. */ throughBlock: number; }; } /** Reads asset contributions that must be removed from measured organic growth. */ export declare function contributions(tidx: Tidx.Client, options: contributions.Options): Promise; export declare namespace contributions { /** One canonical vault contribution. */ type Entry = { /** Contributed base-asset units. */ assets: bigint; /** Canonical event position. */ cursor: Campaigns.EventCursor; /** Fee-inclusive EarnShare supply after the contribution. */ earnShareSupply: bigint; /** Contribution block timestamp. */ timestamp: number; }; /** Contribution-range selector. */ type Options = { /** Exclusive opening block. */ afterBlock: number; /** EarnVault emitting contributions. */ earnVault: Address; /** Inclusive closing block. */ throughBlock: number; }; } export declare namespace accountEventPages { /** Tracked-account event range. */ type Options = { /** Last applied event, omitted for campaign bootstrap. */ after?: Campaigns.EventCursor | undefined; /** Reward accounts whose deposits and transfers affect the projection. */ accounts: readonly Address[]; /** EarnShare token address. */ earnShare: Address; /** EarnVault address. */ earnVault: Address; /** Inclusive closing block. */ throughBlock: number; }; } export declare namespace accountEventsQuery { /** Tracked-account query options. */ type Options = accountEventPages.Options & { /** Maximum rows returned by this query. */ pageSize?: number | undefined; }; } /** Streams one tracked account's deposits without scanning unrelated transfer history. */ export declare function accountDepositPages(tidx: Tidx.Client, options: accountDepositPages.Options): AsyncGenerator; /** Builds one tracked account's deposit-only reconciliation query. */ export declare function accountDepositsQuery(options: accountDepositPages.Options): string; export declare namespace accountDepositPages { /** One account's deposit history range. */ type Options = { /** Reward account receiving deposits. */ account: Address; /** Last applied deposit, omitted for campaign bootstrap. */ after?: Campaigns.EventCursor | undefined; /** EarnVault emitting deposits. */ earnVault: Address; /** Inclusive closing block. */ throughBlock: number; }; } //# sourceMappingURL=Events.d.ts.map