import { ByteString, Ripemd160, SmartContractLib } from 'scrypt-ts'; import { int32 } from '../utils/txUtil'; export type NftOpenMinterState = { nftScript: ByteString; merkleRoot: ByteString; nextLocalId: int32; }; export type NftMerkleLeaf = { commitScript: ByteString; localId: int32; isMined: boolean; }; export declare class NftOpenMinterProto extends SmartContractLib { static stateHash(_state: NftOpenMinterState): ByteString; static nftMerkleLeafToString(leaf: NftMerkleLeaf): ByteString; static create(tokenScript: ByteString, merkleRoot: ByteString, mintNumber: bigint): NftOpenMinterState; static toByteString(_state: NftOpenMinterState): string; } export declare class NftOpenMinterMerkleTreeData { leafArray: NftMerkleLeaf[]; height: number; emptyHashs: string[]; hashNodes: string[][]; maxLeafSize: number; constructor(leafArray: NftMerkleLeaf[], height: number); getLeaf(index: number): NftMerkleLeaf; get merkleRoot(): string; getMerklePath(leafIndex: number): { leaf: Ripemd160; leafNode: NftMerkleLeaf; neighbor: string[]; neighborType: boolean[]; merkleRoot: string; }; updateLeaf(leaf: NftMerkleLeaf, leafIndex: number): { oldLeaf: NftMerkleLeaf; neighbor: string[]; neighborType: boolean[]; leafIndex: number; newLeaf: NftMerkleLeaf; merkleRoot: string; }; updateMerkleTree(leaf: NftMerkleLeaf, leafIndex: number): { neighbor: string[]; neighborType: boolean[]; }; private buildMerkleTree; } //# sourceMappingURL=nftOpenMinterProto.d.ts.map