///
import { TezosSaplingInput } from '../../types/sapling/TezosSaplingInput';
import { TezosSaplingOutput } from '../../types/sapling/TezosSaplingOutput';
import { TezosSaplingStateTree } from '../../types/sapling/TezosSaplingStateTree';
import { TezosSaplingTransaction } from '../../types/sapling/TezosSaplingTransaction';
import { TezosSaplingCryptoClient } from '../TezosSaplingCryptoClient';
import { TezosSaplingExternalMethodProvider } from '../TezosSaplingProtocolOptions';
import { TezosSaplingEncoder } from './TezosSaplingEncoder';
import { TezosSaplingState } from './TezosSaplingState';
export declare class TezosSaplingForger {
private readonly cryptoClient;
private readonly state;
private readonly encoder;
private readonly externalProvider?;
constructor(cryptoClient: TezosSaplingCryptoClient, state: TezosSaplingState, encoder: TezosSaplingEncoder, externalProvider?: TezosSaplingExternalMethodProvider | undefined);
forgeSaplingTransaction(inputs: TezosSaplingInput[], outputs: TezosSaplingOutput[], merkleTree: TezosSaplingStateTree, antiReplay: string, spendingKey?: Buffer): Promise;
private forgeSaplingInputs;
private forgeSaplingOutputs;
private createTransactionSighash;
private createInputSighash;
private calculateTransactionBalance;
private withProvingContext;
private prepareSpendDescription;
private preparePartialOutputDescription;
private createBindingSignature;
}