import { PublicKey } from '@solana/web3.js'; import { ClaimData, MerkleProof } from '../types'; export declare class MerkleTree { private leaves; private tree; private claimData; constructor(claimData: ClaimData[]); private generateLeaves; private buildTree; getRoot(): number[]; getProof(userPubkey: PublicKey, amount: number): number[][]; getAllProofs(): MerkleProof[]; verifyProof(userPubkey: PublicKey, amount: number, proof: number[][]): boolean; } export declare function generateMerkleTree(claimData: ClaimData[]): { merkleRoot: number[]; proofs: MerkleProof[]; }; export declare function createClaimData(data: { user: string; amount: number; }[]): ClaimData[]; export declare function debugMerkleProof(userPubkey: PublicKey, amount: number, merkleProof: number[][], merkleRoot: number[]): { isValid: boolean; steps: Array<{ step: number; currentHash: string; proofElement: string; isCurrentSmaller: boolean; combined: string; newHash: string; }>; finalHash: string; expectedRoot: string; };