import { HinkalInstruction } from '../pre-transaction';
import { Utxo } from '../../data-structures/utxo/Utxo';
import { AccountMeta } from '@solana/web3.js';
import { DimDataType } from '../../types/circom-data.types';
import { MerkleTree } from '../../data-structures/merkle-tree';
import { UserKeys } from '../../data-structures/crypto-keys/keys';
export declare const constructSolanaZkProof: (generateProofRemotely: boolean, merkleTreeHinkal: MerkleTree<bigint>, userKeys: UserKeys, mintAddresses: string[], inputUtxosArray: Utxo[][], outputUtxosArray: Utxo[][], extraRandomization: bigint, relayerFee: bigint, variableRate: bigint, recipientAddress: string, signerAddress: string, dimensions: DimDataType, encryptedOutputs: number[][], chainId?: number, instructions?: HinkalInstruction[], remainingAccounts?: AccountMeta[], swapperAccountSalt?: bigint) => Promise<{
    proofAArr: number[];
    proofBArr: number[];
    proofCArr: number[];
    publicInputsArr: number[][];
}>;
