/**
 * GrimSwap ZK SDK - Deposit Reader
 *
 * Reads deposit events from GrimPool to build commitment arrays.
 * Uses raw JSON-RPC calls — no ethers/viem dependency required.
 * Works in both Node.js and browser.
 */
/** Deposit event parsed from GrimPool */
export interface DepositEvent {
    commitment: bigint;
    leafIndex: number;
    timestamp: bigint;
    blockNumber: bigint;
    transactionHash: string;
}
/**
 * Fetch all deposit commitments from GrimPool
 *
 * Returns ordered array of commitments ready for buildMerkleTree().
 *
 * @param rpcUrl - JSON-RPC endpoint URL (defaults to Unichain Sepolia)
 * @param poolAddress - GrimPool contract address (defaults to Unichain Sepolia)
 * @param fromBlock - Block to start scanning from (defaults to 0)
 * @returns Ordered array of commitment bigints
 *
 * @example
 * ```typescript
 * import { fetchDeposits, buildMerkleTree } from "@grimswap/circuits";
 *
 * const commitments = await fetchDeposits();
 * const tree = await buildMerkleTree(commitments);
 * ```
 */
export declare function fetchDeposits(rpcUrl?: string, poolAddress?: string, fromBlock?: number): Promise<bigint[]>;
/**
 * Fetch full deposit events with metadata
 *
 * @param rpcUrl - JSON-RPC endpoint URL
 * @param poolAddress - GrimPool contract address
 * @param fromBlock - Block to start scanning from
 * @returns Array of DepositEvent objects
 */
export declare function fetchDepositEvents(rpcUrl?: string, poolAddress?: string, fromBlock?: number): Promise<DepositEvent[]>;
/**
 * Get the current deposit count from GrimPool
 *
 * @param rpcUrl - JSON-RPC endpoint URL
 * @param poolAddress - GrimPool contract address
 * @returns Current number of deposits
 */
export declare function getDepositCount(rpcUrl?: string, poolAddress?: string): Promise<number>;
//# sourceMappingURL=deposits.d.ts.map