import { MerkleTree } from '../../data-structures/merkle-tree';
import { UserKeys } from '../../data-structures/crypto-keys/keys';
import { IUtxoConstructor } from '../../data-structures/utxo/Utxo';
import { ZKProofWorkerBuildInNullifiersReturn } from '../../webworker/zkProofWorker/zkProofWorker.types';
interface MerkleTreeSiblingsAndRootHashes {
    inCommitmentSiblings: string[][][];
    inCommitmentSiblingSides: string[][][];
    accessTokenSiblings: string[];
    accessTokenSiblingSides: string[];
    rootHashHinkal: bigint;
    rootHashAccessToken: bigint;
}
export declare const getMerkleTreeSiblingsAndRootHashes: (chainId: number, userKeys: UserKeys, inputUtxosSerialized: IUtxoConstructor[][], patchAccessTokenMerkleTree: boolean, kycRequired: boolean, merkleTree: MerkleTree<bigint>, merkleTreeAccessToken: MerkleTree<bigint>) => Promise<MerkleTreeSiblingsAndRootHashes>;
export declare const getDataFromWorkers: (chainId: number, merkleTree: MerkleTree<bigint>, merkleTreeAccessToken: MerkleTree<bigint>, userKeys: UserKeys, inputUtxosSerialized: IUtxoConstructor[][], patchAccessTokenMerkleTree: boolean, kycRequired: boolean) => Promise<{
    inCommitmentSiblings: string[][][];
    inCommitmentSiblingSides: string[][][];
    accessTokenSiblings: string[];
    accessTokenSiblingSides: string[];
    rootHashHinkal: bigint;
    rootHashAccessToken: bigint;
    inNullifiers: ZKProofWorkerBuildInNullifiersReturn;
}>;
export {};
