export function initialByzantineClientStore(store: ByzantineStore, client: number): {
    leafNodeList: MerkleTreeLeafNodeList;
    layerNodeList: MerkleTreeLayerNodeList;
    merkleTreeRoot: null;
};
export function addLeafNodesToMerkleTree(leafNodesMap: Map<number, Array<MerkleTreeLeafNode>>, store: ByzantineStore): void;
export function addPendingMerkleTreeLeafNodesToTransaction(transaction: Transaction, structId: ID, leafNodes: Array<MerkleTreeLeafNode>): void;
export function addMerkleTreeLeafNodes(store: ByzantineStore, struct: Item, transaction: Transaction): MerkleTreeLeafNode[];
export class ByzantineStore {
    /**
     * @type {Map<number,{
     *   leafNodeList: MerkleTreeLeafNodeList,
     *   layerNodeList: MerkleTreeLayerNodeList,
     *   merkleTreeRoot: MerkleTreeHashNode | null | undefined,
     * }>}
     */
    clients: Map<number, {
        leafNodeList: MerkleTreeLeafNodeList;
        layerNodeList: MerkleTreeLayerNodeList;
        merkleTreeRoot: MerkleTreeHashNode | null | undefined;
    }>;
}
import { MerkleTreeLeafNodeList } from "./MerkleTree/LeafNodeList";
import { MerkleTreeLayerNodeList } from "./MerkleTree/LayerNodeList";
import { MerkleTreeLeafNode } from "./MerkleTree/LeafNode";
import { Transaction } from "../utils/Transaction";
import { ID } from "../utils/ID";
import { Item } from "../structs/Item";
import { MerkleTreeHashNode } from "./MerkleTree/HashNode";
