///
///
import { PublicKey } from '@solana/web3.js';
import BN from 'bn.js';
import CryptoJS from 'crypto-js';
export declare const LEAF_NODE_PREFIX: BN;
export declare const LEAF_NODE_PREFIX_BUF: Buffer;
export declare const INTERMEDIATE_NODE_PREFIX: BN;
export declare const INTERMEDIATE_NODE_PREFIX_BUF: Buffer;
export type MerkleTreeNodeEncoded = {
base58: string;
base64: string;
buffer: Buffer;
words: number[];
wordArray: CryptoJS.lib.WordArray;
};
type MerkleTreeNodeDataInput = {
stakeAuthority: PublicKey;
withdrawAuthority: PublicKey;
claim: BN | number;
index: BN | number;
};
export type MerkleTreeNodeData = MerkleTreeNodeDataInput & Omit & {
claim: BN;
} & {
index: BN;
};
export declare class MerkleTreeNode {
data: MerkleTreeNodeData;
constructor(data: MerkleTreeNodeDataInput);
static fromString({ stakeAuthority, withdrawAuthority, claim, index, }: {
stakeAuthority: string;
withdrawAuthority: string;
claim: BN | number;
index: BN | number;
}): MerkleTreeNode;
get stakeAuthority(): PublicKey;
get withdrawAuthority(): PublicKey;
get index(): BN;
get claim(): BN;
hash(): MerkleTreeNodeEncoded;
hashLeafNode(): MerkleTreeNodeEncoded;
static hashFromString({ stakeAuthority, withdrawAuthority, claim, index, }: {
stakeAuthority: string;
withdrawAuthority: string;
claim: BN | number;
index: BN | number;
}): MerkleTreeNodeEncoded;
static hash({ stakeAuthority, withdrawAuthority, claim, index, }: MerkleTreeNodeDataInput): MerkleTreeNodeEncoded;
static hashLeafNode({ stakeAuthority, withdrawAuthority, claim, index, }: MerkleTreeNodeDataInput): MerkleTreeNodeEncoded;
static hashLeafNodeFromBuffer({ buffer, }: MerkleTreeNodeEncoded): MerkleTreeNodeEncoded;
static toEncodings(wordArray: CryptoJS.lib.WordArray): MerkleTreeNodeEncoded;
}
export declare function toWordArray(bytes: number[]): CryptoJS.lib.WordArray;
export declare function pubkeyToWordArray(pubkey: PublicKey): CryptoJS.lib.WordArray;
export {};
//# sourceMappingURL=merkleTree.d.ts.map