import type { Idl, Program } from "@coral-xyz/anchor"; import type { PublicKey } from "@solana/web3.js"; import type { CommitmentEvent, NullifierSpentEvent } from "./types.js"; export type EventScanPage = { events: T[]; /** Oldest signature examined, even when it emitted no matching event. */ nextBefore?: string; scannedSignatures: number; }; export type EventScanParams = { program: Program; mintAddress?: PublicKey; before?: string; until?: string; /** Number of program signatures to inspect. Maximum 1,000. */ limit?: number; }; /** Scan one RPC page and retain a correct pagination cursor. */ export declare function scanCommitmentEventPage(params: EventScanParams): Promise>; /** * Scan a single page of CommitmentEvents. * * Use `scanAllCommitmentEvents` when reconstructing a complete historical tree. */ export declare function scanCommitmentEvents(params: EventScanParams): Promise; /** Scan all historical pages without using event count as the RPC cursor. */ export declare function scanAllCommitmentEvents(params: { program: Program; mintAddress?: PublicKey; before?: string; until?: string; pageSize?: number; }): Promise; /** Scan one RPC page of NullifierSpent events using all historical IDLs. */ export declare function scanNullifierEvents(params: EventScanParams): Promise;