import { Account, Algodv2, Transaction } from "algosdk";
import AlgofiClient from "./../algofiClient";
import { Network } from "./../globals";
import AlgofiUser from "../algofiUser";
import GovernanceConfig from "./governanceConfig";
import VotingEscrow from "./votingEscrow";
import governanceUser from "./governanceUser";
import Admin from "./admin";
import RewardsManager from "./rewardsManager";
export default class GovernanceClient {
    algofiClient: AlgofiClient;
    algod: Algodv2;
    network: Network;
    admin: Admin;
    votingEscrow: VotingEscrow;
    rewardsManager: RewardsManager;
    governanceConfig: GovernanceConfig;
    constructor(algofiClient: AlgofiClient);
    loadState(): Promise<void>;
    getUser(address: string): governanceUser;
    getOptInTxns(user: AlgofiUser, storageAccount: Account): Promise<Transaction[]>;
}
