import { Algodv2, SuggestedParams, Transaction } from "algosdk";
/**
 * Function that returns standard transaction parameters
 *
 * @param {Algodv2} algodClient
 *
 * @return params
 */
export declare function getParams(algodClient: Algodv2): Promise<SuggestedParams>;
/**
 * Helper function to wait for a transaction to be completed
 *
 * @param   {Algodv2}   algofClient
 * @param   {string}    txid
 *
 * @return  {none}
 */
export declare function waitForConfirmation(algodClient: Algodv2, txId: string): Promise<void>;
/**
 * Function to generate preamble transactions
 *
 * @param   {Algodv2}}  algodclient
 * @param   {string}    senderAccount         - user account address
 * @param   {string}    storageAccount           - user storage account address
 *
 * @return  {Transaction[]}     preamble transaction array
 */
export declare function getLeadingTxs(algodClient: Algodv2, senderAccount: string, storageAccount: string, asset?: string): Promise<Transaction[]>;
/**
 * Function to generate core transactions for user interactions less payment transactions
 *
 * @param   {Algodv2}     algodClient
 * @param   {string}      senderAccount
 * @param   {string}      storageAccount
 * @param   {int}         marketAppId
 * @param   {int}         foreignAssetId
 * @param   {string}      functionString
 * @param   {[]}          extralCallArgs
 * @param   {string}      marketAddress
 * @param   {int}         paymentAssetId
 * @param   {int}         paymentAmount
 *
 * @return {Transaction[]}
 */
export declare function buildUserTransaction(algodClient: Algodv2, senderAccount: string, storageAccount: string, marketAppId: number, foreignAssetId: number, functionString: string, extraCallArgs?: any, marketAddress?: string, paymentAssetId?: number, paymentAmout?: number, asset?: string, vault?: boolean): Promise<Transaction[]>;
