import { Algodv2, Transaction } from "algosdk";
import ParsedTransaction from "./../parsedTransaction";
import LendingClient from "./lendingClient";
import UserMarketState from "./userMarketState";
export default class User {
    algod: Algodv2;
    address: string;
    storageAddress: string;
    lendingClient: LendingClient;
    storageBalances: {};
    storageMinBalance: number;
    optedInToManager: boolean;
    optedInMarkets: any[];
    userMarketStates: {
        [key: number]: UserMarketState;
    };
    netSupplied: number;
    netScaledCollateral: number;
    netSupplyAPR: number;
    netBorrowed: number;
    netScaledBorrow: number;
    netBorrowAPR: number;
    netUnclaimedRewards: {};
    netRewardsPerYear: {};
    constructor(lendingClient: LendingClient, address: string);
    loadState(userLocalStates: {}): Promise<void>;
    isUserOptedIntoMarket(marketAppId: number): boolean;
    getMarketPageOffset(marketAppId: number): [number, number];
    getCalcUserPositionTransactions(targetMarketAppId: number): Promise<Transaction[]>;
    parseTransaction(txns: {}[], txnIdx: number, parsedTransactions: ParsedTransaction[]): void;
}
