import { Algodv2, Transaction } from "algosdk";
import AlgofiUser from "../algofiUser";
import GovernanceClient from "./governanceClient";
export default class VotingEscrow {
    governanceClient: GovernanceClient;
    algod: Algodv2;
    appId: number;
    totalLocked: number;
    totalVebank: number;
    assetId: number;
    votingEscrowMaxTimeLockSeconds: number;
    votingEscrowMinTimeLockSeconds: number;
    constructor(governanceClient: GovernanceClient);
    loadState(): Promise<void>;
    getUpdateVeBankDataTxns(userCalling: AlgofiUser, userUpdating: AlgofiUser): Promise<Transaction[]>;
    getLockTxns(user: AlgofiUser, amount: number, durationSeconds: number): Promise<Transaction[]>;
    getExtendLockTxns(user: AlgofiUser, durationSeconds: number): Promise<Transaction[]>;
    getIncreaseLockAmountTxns(user: AlgofiUser, amount: number): Promise<Transaction[]>;
    getClaimTxns(user: AlgofiUser): Promise<Transaction[]>;
}
