///
import algosdk, { Account } from 'algosdk';
import AlgodClient from 'algosdk/dist/types/src/client/v2/algod/algod';
import { IMetadataProperties, TAssetInfoResult } from '@types';
import AlgorandNetwork from '@providers/AlgorandNetwork';
export interface IAppsTotalSchema {
'num-byte-slice': number;
'num-uint': number;
}
export interface IAlgorandAccontInformation {
address: string;
amount: number;
'amount-without-pending-rewards': number;
'apps-local-state': unknown[];
'apps-total-schema': IAppsTotalSchema;
assets: any[];
'created-apps': unknown[];
'created-assets': unknown[];
'pending-rewards': number;
'reward-base': number;
rewards: number;
round: number;
status: string;
}
export default interface IAccount {
address: string;
sk: Uint8Array;
}
export declare function getAccountBalance(algodClient: AlgodClient, account: string): Promise;
export declare function optInApp(client: AlgodClient, sender: string, index: number): Promise;
export declare function waitForConfirmation(algodClient: AlgodClient, txId: string, timeout: number): Promise>;
export declare function callApp(client: AlgodClient, account: Account, index: number, appArguments: Uint8Array[]): Promise;
export declare function safeMint(client: AlgorandNetwork, sender: string, appId: number, price: number, setWarningMessage: React.Dispatch>): Promise;
export declare function addAssetConfigNotes(client: AlgorandNetwork, account: Account, assetInfo: Record, metadata: IMetadataProperties): Promise>;
export declare function withdrawAsset(client: AlgorandNetwork, account: Account, assetInfo: Record, appId: number): Promise>;
export declare function configAndTransferAsset(client: AlgorandNetwork, account: Account, assetInfo: Record, metadata: IMetadataProperties, sender: string): Promise>;
export declare function isOptedInAsset(client: algosdk.Algodv2, assetInfo: Record, sender: string): Promise;
export declare function isOptedInApp(client: algosdk.Algodv2, appId: number, sender: string): Promise;
export declare function assetOptIn(client: AlgorandNetwork, sender: string, assetInfo: Record, account?: Account, metadata?: IMetadataProperties): Promise>;
export declare function assetTransfer(client: AlgorandNetwork, account: Account, sender: string, assetInfo: Record): Promise>;
export declare function safeBatchMint(client: AlgorandNetwork, sender: string, appId: number, price: number, amount: number): Promise;
//# sourceMappingURL=handleInteractApplication.d.ts.map