import { Algodv2, Indexer } from "algosdk";
import AlgofiClient from "./algofiClient";
import ParsedTransaction from "./parsedTransaction";
import LendingUser from "./lending/lendingUser";
import StakingUser from "./staking/stakingUser";
import V1StakingUser from "./v1_staking/v1_stakingUser";
import GovernanceUser from "./governance/governanceUser";
export declare enum TxnLoadMode {
    REFRESH = 0,
    REVERSE = 1
}
export default class AlgofiUser {
    algofiClient: AlgofiClient;
    algod: Algodv2;
    indexer: Indexer;
    address: string;
    balances: {};
    minBalance: number;
    oldestLoadedRound: number;
    transactions: ParsedTransaction[];
    lending: LendingUser;
    staking: StakingUser;
    v1Staking: V1StakingUser;
    governance: GovernanceUser;
    constructor(algofiClient: AlgofiClient, address: string);
    loadState(): Promise<void>;
    isOptedInToAsset(assetId: number): boolean;
    getTransactionHistory(mode: TxnLoadMode): Promise<void>;
}
