import { SuggestedParams } from "algosdk";
import { TransactionGroup } from "../utils";
/**
 * Returns a transactiong roup object representing a manager opt in
 * group transaction. The sender and storage account opt in to the manager application
 * and the storage account is rekeyed to the manager account address, rendering it
 * unable to be transacted against by the sender and therefore immutable.
 *
 * @param managerAppId - id of the manager application
 * @param getMaxAtomicOptInMarketAppIds - max opt in market app ids
 * @param sender - account address for the sender
 * @param storageAddress - address of the storage account
 * @param suggestedParams - suggested transaction params
 * @returns transaction group object representing a managet opt in group transaction
 */
export declare function prepareManagerAppOptinTransactions(managerAppId: number, getMaxAtomicOptInMarketAppIds: number[], sender: string, storageAddress: string, suggestedParams: SuggestedParams): TransactionGroup;
/**
 * Returns a transaction group object representing a market opt in
 * group transaction.
 *
 * @param marketAppId -id of the market application
 * @param sender - account address for the sender
 * @param suggestedParams - suggested transaction params
 * @returns transaction group object representing a market opt in group transaction
 */
export declare function prepareMarketAppOptinTransactions(marketAppId: number, sender: string, suggestedParams: SuggestedParams): TransactionGroup;
/**
 * Returns a transaction group object representing an asset opt in
 * group transaction.
 *
 * @param assetId - id of the asset to opt into
 * @param sender - account address for the sender
 * @param suggestedParams - suggested transaction params
 * @returns transaction group object representing an asset opt in group transaction
 */
export declare function prepareAssetOptinTransactions(assetId: number, sender: string, suggestedParams: SuggestedParams): TransactionGroup;
