///
import BigNumber from '../../../../dependencies/src/bignumber.js-9.0.0/bignumber';
import { IAirGapTransaction } from '../../../../interfaces/IAirGapTransaction';
import { ProtocolNetwork } from '../../../../utils/ProtocolNetwork';
import { ProtocolSymbols } from '../../../../utils/ProtocolSymbols';
import { TezosSaplingCiphertext } from '../../types/sapling/TezosSaplingCiphertext';
import { TezosSaplingInput } from '../../types/sapling/TezosSaplingInput';
import { TezosSaplingOutput } from '../../types/sapling/TezosSaplingOutput';
import { TezosSaplingWrappedTransaction } from '../../types/sapling/TezosSaplingWrappedTransaction';
import { TezosSaplingAddress } from '../TezosSaplingAddress';
import { TezosSaplingCryptoClient } from '../TezosSaplingCryptoClient';
import { TezosSaplingEncoder } from './TezosSaplingEncoder';
export declare class TezosSaplingBookkeeper {
private readonly identifier;
private readonly network;
private readonly cryptoClient;
private readonly encoder;
constructor(identifier: ProtocolSymbols, network: ProtocolNetwork, cryptoClient: TezosSaplingCryptoClient, encoder: TezosSaplingEncoder);
getUnsignedTransactionDetails(sender: TezosSaplingAddress, inputs: TezosSaplingInput[], outputs: TezosSaplingOutput[], wrappedTransactions: TezosSaplingWrappedTransaction[]): IAirGapTransaction[];
getWrappedTransactionsPartialDetails(wrappedTransactions: TezosSaplingWrappedTransaction[], knownViewingKeys?: string[]): Promise[]>;
private getTransactionPartialDetails;
private findSender;
private findRecipient;
private decodeDetailsFromOutputDescription;
sumNotes(notes: (TezosSaplingInput | TezosSaplingOutput)[]): BigNumber;
getIncomingInputs(viewingKey: Buffer | string, commitmentsWithCiphertext: [string, TezosSaplingCiphertext, BigNumber][]): Promise;
getOutgoingInputs(viewingKey: Buffer | string, commitmentsWithCiphertext: [string, TezosSaplingCiphertext, BigNumber][]): Promise;
getUnspends(viewingKey: Buffer | string, commitmentsWithCiphertext: [string, TezosSaplingCiphertext][], nullifiers: string[]): Promise;
private getInputs;
private getReceiverInputFromCiphertext;
private getSenderInputFromCiphertext;
private getIncomingInputFromCiphertext;
private getOutgoingInputFromCiphertext;
private verifyCommitment;
}