import algosdk from "algosdk"; import { txWriter } from "../internal/tx-log-writer"; import { Account, Accounts, ASADef, ASADeploymentFlags, ASAInfo, ASCDeploymentFlags, ASCInfo, Network, TxParams } from "../types"; import { CompileOp } from "./compile"; export declare const ALGORAND_MIN_TX_FEE = 1000; export declare function createAlgoOperator(network: Network): AlgoOperator; export interface AlgoOperator { algodClient: algosdk.Algodv2; deployASA: (name: string, asaDef: ASADef, flags: ASADeploymentFlags, accounts: Accounts, txWriter: txWriter) => Promise; deployASC: (programb64: string, scParams: object, flags: ASCDeploymentFlags, payFlags: TxParams, txWriter: txWriter) => Promise; waitForConfirmation: (txId: string) => Promise; optInToASA: (asaName: string, assetIndex: number, account: Account, params: TxParams) => Promise; } export declare class AlgoOperatorImpl implements AlgoOperator { algodClient: algosdk.Algodv2; compileOp: CompileOp; constructor(algocl: algosdk.Algodv2); waitForConfirmation(txId: string): Promise; getTxFee(params: algosdk.SuggestedParams, txSize: number): number; getUsableAccBalance(accoutInfo: algosdk.AccountInfo): number; getOptInTxSize(params: algosdk.SuggestedParams, accounts: Accounts): number; _optInToASA(asaName: string, assetIndex: number, account: Account, params: algosdk.SuggestedParams): Promise; optInToASA(asaName: string, assetIndex: number, account: Account, flags: TxParams): Promise; optInToASAMultiple(asaName: string, assetIndex: number, accounts: Account[], params: algosdk.SuggestedParams): Promise; checkBalanceForOptInTx(name: string, params: algosdk.SuggestedParams, asaDef: ASADef, accounts: Accounts, creator: Account): Promise; deployASA(name: string, asaDef: ASADef, flags: ASADeploymentFlags, accounts: Accounts, txWriter: txWriter): Promise; deployASC(name: string, scParams: object, flags: ASCDeploymentFlags, payFlags: TxParams, txWriter: txWriter): Promise; private ensureCompiled; }