import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from 'ethers';
import type { FunctionFragment, Result, EventFragment } from '@ethersproject/abi';
import type { Listener, Provider } from '@ethersproject/providers';
import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent, PromiseOrValue } from './common';
export interface AurigamiComptrollerInterface extends utils.Interface {
    functions: {
        '_become(address)': FunctionFragment;
        '_borrowGuardianPaused()': FunctionFragment;
        '_grantPly(address,uint256)': FunctionFragment;
        '_mintGuardianPaused()': FunctionFragment;
        '_setBorrowCapGuardian(address)': FunctionFragment;
        '_setBorrowPaused(address,bool)': FunctionFragment;
        '_setCloseFactor(uint256)': FunctionFragment;
        '_setCollateralFactor(address,uint256)': FunctionFragment;
        '_setLiquidationIncentive(uint256)': FunctionFragment;
        '_setMarketBorrowCaps(address[],uint256[])': FunctionFragment;
        '_setMarketMintCaps(address[],uint256[])': FunctionFragment;
        '_setMaxAssets(uint256)': FunctionFragment;
        '_setMintCapGuardian(address)': FunctionFragment;
        '_setMintPaused(address,bool)': FunctionFragment;
        '_setPauseGuardian(address)': FunctionFragment;
        '_setPriceOracle(address)': FunctionFragment;
        '_setRewardSpeeds(uint8,address[],uint256[],bool[])': FunctionFragment;
        '_setSeizePaused(bool)': FunctionFragment;
        '_setTransferPaused(bool)': FunctionFragment;
        '_supportMarket(address)': FunctionFragment;
        'accountAssets(address,uint256)': FunctionFragment;
        'admin()': FunctionFragment;
        'allMarkets(uint256)': FunctionFragment;
        'aurora()': FunctionFragment;
        'borrowAllowed(address,address,uint256)': FunctionFragment;
        'borrowCapGuardian()': FunctionFragment;
        'borrowCaps(address)': FunctionFragment;
        'borrowGuardianPaused(address)': FunctionFragment;
        'checkMembership(address,address)': FunctionFragment;
        'claimReward(uint8,address)': FunctionFragment;
        'claimReward(uint8,address,address[])': FunctionFragment;
        'claimReward(uint8,address[],address[],bool,bool)': FunctionFragment;
        'closeFactorMantissa()': FunctionFragment;
        'comptrollerImplementation()': FunctionFragment;
        'enterMarkets(address[])': FunctionFragment;
        'exitMarket(address)': FunctionFragment;
        'getAccountLiquidity(address)': FunctionFragment;
        'getAllMarkets()': FunctionFragment;
        'getAssetsIn(address)': FunctionFragment;
        'getHypotheticalAccountLiquidity(address,address,uint256,uint256)': FunctionFragment;
        'initialIndexConstant()': FunctionFragment;
        'isAllowedToClaimReward(address,address)': FunctionFragment;
        'isComptroller()': FunctionFragment;
        'isWhitelisted(address)': FunctionFragment;
        'liquidateBorrowAllowed(address,address,address,address,uint256)': FunctionFragment;
        'liquidateCalculateSeizeTokens(address,address,uint256)': FunctionFragment;
        'liquidationIncentiveMantissa()': FunctionFragment;
        'markets(address)': FunctionFragment;
        'maxAssets()': FunctionFragment;
        'mintAllowed(address,address,uint256)': FunctionFragment;
        'mintCapGuardian()': FunctionFragment;
        'mintCaps(address)': FunctionFragment;
        'mintGuardianPaused(address)': FunctionFragment;
        'oracle()': FunctionFragment;
        'pauseGuardian()': FunctionFragment;
        'pendingAdmin()': FunctionFragment;
        'pendingComptrollerImplementation()': FunctionFragment;
        'ply()': FunctionFragment;
        'pulp()': FunctionFragment;
        'redeemAllowed(address,address,uint256)': FunctionFragment;
        'repayBorrowAllowed(address,address,address,uint256)': FunctionFragment;
        'rewardAccrued(uint8,address)': FunctionFragment;
        'rewardAurora()': FunctionFragment;
        'rewardBorrowState(uint8,address)': FunctionFragment;
        'rewardBorrowerIndex(uint8,address,address)': FunctionFragment;
        'rewardClaimStart()': FunctionFragment;
        'rewardPly()': FunctionFragment;
        'rewardRate(uint8)': FunctionFragment;
        'rewardSpeeds(uint8,address,bool)': FunctionFragment;
        'rewardSupplierIndex(uint8,address,address)': FunctionFragment;
        'rewardSupplyState(uint8,address)': FunctionFragment;
        'seizeAllowed(address,address,address,address,uint256)': FunctionFragment;
        'seizeGuardianPaused()': FunctionFragment;
        'setLockAddress(address)': FunctionFragment;
        'setRewardClaimStart(uint32)': FunctionFragment;
        'setTokens(address,address)': FunctionFragment;
        'setWhitelisted(address,bool)': FunctionFragment;
        'transferAllowed(address,address,address,uint256)': FunctionFragment;
        'transferGuardianPaused()': FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: '_become' | '_borrowGuardianPaused' | '_grantPly' | '_mintGuardianPaused' | '_setBorrowCapGuardian' | '_setBorrowPaused' | '_setCloseFactor' | '_setCollateralFactor' | '_setLiquidationIncentive' | '_setMarketBorrowCaps' | '_setMarketMintCaps' | '_setMaxAssets' | '_setMintCapGuardian' | '_setMintPaused' | '_setPauseGuardian' | '_setPriceOracle' | '_setRewardSpeeds' | '_setSeizePaused' | '_setTransferPaused' | '_supportMarket' | 'accountAssets' | 'admin' | 'allMarkets' | 'aurora' | 'borrowAllowed' | 'borrowCapGuardian' | 'borrowCaps' | 'borrowGuardianPaused' | 'checkMembership' | 'claimReward(uint8,address)' | 'claimReward(uint8,address,address[])' | 'claimReward(uint8,address[],address[],bool,bool)' | 'closeFactorMantissa' | 'comptrollerImplementation' | 'enterMarkets' | 'exitMarket' | 'getAccountLiquidity' | 'getAllMarkets' | 'getAssetsIn' | 'getHypotheticalAccountLiquidity' | 'initialIndexConstant' | 'isAllowedToClaimReward' | 'isComptroller' | 'isWhitelisted' | 'liquidateBorrowAllowed' | 'liquidateCalculateSeizeTokens' | 'liquidationIncentiveMantissa' | 'markets' | 'maxAssets' | 'mintAllowed' | 'mintCapGuardian' | 'mintCaps' | 'mintGuardianPaused' | 'oracle' | 'pauseGuardian' | 'pendingAdmin' | 'pendingComptrollerImplementation' | 'ply' | 'pulp' | 'redeemAllowed' | 'repayBorrowAllowed' | 'rewardAccrued' | 'rewardAurora' | 'rewardBorrowState' | 'rewardBorrowerIndex' | 'rewardClaimStart' | 'rewardPly' | 'rewardRate' | 'rewardSpeeds' | 'rewardSupplierIndex' | 'rewardSupplyState' | 'seizeAllowed' | 'seizeGuardianPaused' | 'setLockAddress' | 'setRewardClaimStart' | 'setTokens' | 'setWhitelisted' | 'transferAllowed' | 'transferGuardianPaused'): FunctionFragment;
    encodeFunctionData(functionFragment: '_become', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: '_borrowGuardianPaused', values?: undefined): string;
    encodeFunctionData(functionFragment: '_grantPly', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: '_mintGuardianPaused', values?: undefined): string;
    encodeFunctionData(functionFragment: '_setBorrowCapGuardian', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: '_setBorrowPaused', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: '_setCloseFactor', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: '_setCollateralFactor', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: '_setLiquidationIncentive', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: '_setMarketBorrowCaps', values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[]]): string;
    encodeFunctionData(functionFragment: '_setMarketMintCaps', values: [PromiseOrValue<string>[], PromiseOrValue<BigNumberish>[]]): string;
    encodeFunctionData(functionFragment: '_setMaxAssets', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: '_setMintCapGuardian', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: '_setMintPaused', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: '_setPauseGuardian', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: '_setPriceOracle', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: '_setRewardSpeeds', values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>[],
        PromiseOrValue<BigNumberish>[],
        PromiseOrValue<boolean>[]
    ]): string;
    encodeFunctionData(functionFragment: '_setSeizePaused', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: '_setTransferPaused', values: [PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: '_supportMarket', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'accountAssets', values: [PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'admin', values?: undefined): string;
    encodeFunctionData(functionFragment: 'allMarkets', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'aurora', values?: undefined): string;
    encodeFunctionData(functionFragment: 'borrowAllowed', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'borrowCapGuardian', values?: undefined): string;
    encodeFunctionData(functionFragment: 'borrowCaps', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'borrowGuardianPaused', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'checkMembership', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'claimReward(uint8,address)', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'claimReward(uint8,address,address[])', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<string>[]]): string;
    encodeFunctionData(functionFragment: 'claimReward(uint8,address[],address[],bool,bool)', values: [
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<string>[],
        PromiseOrValue<string>[],
        PromiseOrValue<boolean>,
        PromiseOrValue<boolean>
    ]): string;
    encodeFunctionData(functionFragment: 'closeFactorMantissa', values?: undefined): string;
    encodeFunctionData(functionFragment: 'comptrollerImplementation', values?: undefined): string;
    encodeFunctionData(functionFragment: 'enterMarkets', values: [PromiseOrValue<string>[]]): string;
    encodeFunctionData(functionFragment: 'exitMarket', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getAccountLiquidity', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getAllMarkets', values?: undefined): string;
    encodeFunctionData(functionFragment: 'getAssetsIn', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'getHypotheticalAccountLiquidity', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'initialIndexConstant', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isAllowedToClaimReward', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'isComptroller', values?: undefined): string;
    encodeFunctionData(functionFragment: 'isWhitelisted', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'liquidateBorrowAllowed', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'liquidateCalculateSeizeTokens', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'liquidationIncentiveMantissa', values?: undefined): string;
    encodeFunctionData(functionFragment: 'markets', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'maxAssets', values?: undefined): string;
    encodeFunctionData(functionFragment: 'mintAllowed', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'mintCapGuardian', values?: undefined): string;
    encodeFunctionData(functionFragment: 'mintCaps', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'mintGuardianPaused', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'oracle', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pauseGuardian', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingAdmin', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pendingComptrollerImplementation', values?: undefined): string;
    encodeFunctionData(functionFragment: 'ply', values?: undefined): string;
    encodeFunctionData(functionFragment: 'pulp', values?: undefined): string;
    encodeFunctionData(functionFragment: 'redeemAllowed', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'repayBorrowAllowed', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'rewardAccrued', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'rewardAurora', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rewardBorrowState', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'rewardBorrowerIndex', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'rewardClaimStart', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rewardPly', values?: undefined): string;
    encodeFunctionData(functionFragment: 'rewardRate', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'rewardSpeeds', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'rewardSupplierIndex', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'rewardSupplyState', values: [PromiseOrValue<BigNumberish>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'seizeAllowed', values: [
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<string>,
        PromiseOrValue<BigNumberish>
    ]): string;
    encodeFunctionData(functionFragment: 'seizeGuardianPaused', values?: undefined): string;
    encodeFunctionData(functionFragment: 'setLockAddress', values: [PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setRewardClaimStart', values: [PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'setTokens', values: [PromiseOrValue<string>, PromiseOrValue<string>]): string;
    encodeFunctionData(functionFragment: 'setWhitelisted', values: [PromiseOrValue<string>, PromiseOrValue<boolean>]): string;
    encodeFunctionData(functionFragment: 'transferAllowed', values: [PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<string>, PromiseOrValue<BigNumberish>]): string;
    encodeFunctionData(functionFragment: 'transferGuardianPaused', values?: undefined): string;
    decodeFunctionResult(functionFragment: '_become', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_borrowGuardianPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_grantPly', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_mintGuardianPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setBorrowCapGuardian', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setBorrowPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setCloseFactor', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setCollateralFactor', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setLiquidationIncentive', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setMarketBorrowCaps', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setMarketMintCaps', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setMaxAssets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setMintCapGuardian', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setMintPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setPauseGuardian', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setPriceOracle', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setRewardSpeeds', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setSeizePaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_setTransferPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: '_supportMarket', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'accountAssets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'admin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'allMarkets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'aurora', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'borrowAllowed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'borrowCapGuardian', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'borrowCaps', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'borrowGuardianPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'checkMembership', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimReward(uint8,address)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimReward(uint8,address,address[])', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'claimReward(uint8,address[],address[],bool,bool)', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'closeFactorMantissa', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'comptrollerImplementation', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'enterMarkets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'exitMarket', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAccountLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAllMarkets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getAssetsIn', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'getHypotheticalAccountLiquidity', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'initialIndexConstant', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isAllowedToClaimReward', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isComptroller', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'isWhitelisted', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'liquidateBorrowAllowed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'liquidateCalculateSeizeTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'liquidationIncentiveMantissa', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'markets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'maxAssets', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mintAllowed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mintCapGuardian', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mintCaps', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'mintGuardianPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'oracle', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pauseGuardian', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingAdmin', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pendingComptrollerImplementation', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'ply', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'pulp', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'redeemAllowed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'repayBorrowAllowed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardAccrued', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardAurora', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardBorrowState', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardBorrowerIndex', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardClaimStart', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardPly', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardRate', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardSpeeds', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardSupplierIndex', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'rewardSupplyState', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'seizeAllowed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'seizeGuardianPaused', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setLockAddress', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setRewardClaimStart', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setTokens', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'setWhitelisted', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferAllowed', data: BytesLike): Result;
    decodeFunctionResult(functionFragment: 'transferGuardianPaused', data: BytesLike): Result;
    events: {
        'ActionPaused(string,bool)': EventFragment;
        'ContributorPlySpeedUpdated(address,uint256)': EventFragment;
        'DistributedBorrowerReward(uint8,address,address,uint256,uint256)': EventFragment;
        'DistributedSupplierReward(uint8,address,address,uint256,uint256)': EventFragment;
        'MarketEntered(address,address)': EventFragment;
        'MarketExited(address,address)': EventFragment;
        'MarketListed(address)': EventFragment;
        'NewBorrowCap(address,uint256)': EventFragment;
        'NewBorrowCapGuardian(address,address)': EventFragment;
        'NewCloseFactor(uint256,uint256)': EventFragment;
        'NewCollateralFactor(address,uint256,uint256)': EventFragment;
        'NewLiquidationIncentive(uint256,uint256)': EventFragment;
        'NewMintCap(address,uint256)': EventFragment;
        'NewMintCapGuardian(address,address)': EventFragment;
        'NewPauseGuardian(address,address)': EventFragment;
        'NewPriceOracle(address,address)': EventFragment;
        'PlyGranted(address,uint256)': EventFragment;
        'SpeedUpdated(uint8,address,bool,uint256)': EventFragment;
        'WhitelistStatusChanged(address,bool)': EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: 'ActionPaused'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'ContributorPlySpeedUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DistributedBorrowerReward'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'DistributedSupplierReward'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MarketEntered'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MarketExited'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'MarketListed'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewBorrowCap'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewBorrowCapGuardian'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewCloseFactor'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewCollateralFactor'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewLiquidationIncentive'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewMintCap'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewMintCapGuardian'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewPauseGuardian'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'NewPriceOracle'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'PlyGranted'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'SpeedUpdated'): EventFragment;
    getEvent(nameOrSignatureOrTopic: 'WhitelistStatusChanged'): EventFragment;
}
export interface ActionPausedEventObject {
    action: string;
    pauseState: boolean;
}
export declare type ActionPausedEvent = TypedEvent<[string, boolean], ActionPausedEventObject>;
export declare type ActionPausedEventFilter = TypedEventFilter<ActionPausedEvent>;
export interface ContributorPlySpeedUpdatedEventObject {
    contributor: string;
    newSpeed: BigNumber;
}
export declare type ContributorPlySpeedUpdatedEvent = TypedEvent<[string, BigNumber], ContributorPlySpeedUpdatedEventObject>;
export declare type ContributorPlySpeedUpdatedEventFilter = TypedEventFilter<ContributorPlySpeedUpdatedEvent>;
export interface DistributedBorrowerRewardEventObject {
    tokenType: number;
    auToken: string;
    borrower: string;
    plyDelta: BigNumber;
    plyBorrowIndex: BigNumber;
}
export declare type DistributedBorrowerRewardEvent = TypedEvent<[
    number,
    string,
    string,
    BigNumber,
    BigNumber
], DistributedBorrowerRewardEventObject>;
export declare type DistributedBorrowerRewardEventFilter = TypedEventFilter<DistributedBorrowerRewardEvent>;
export interface DistributedSupplierRewardEventObject {
    tokenType: number;
    auToken: string;
    borrower: string;
    plyDelta: BigNumber;
    plyBorrowIndex: BigNumber;
}
export declare type DistributedSupplierRewardEvent = TypedEvent<[
    number,
    string,
    string,
    BigNumber,
    BigNumber
], DistributedSupplierRewardEventObject>;
export declare type DistributedSupplierRewardEventFilter = TypedEventFilter<DistributedSupplierRewardEvent>;
export interface MarketEnteredEventObject {
    auToken: string;
    account: string;
}
export declare type MarketEnteredEvent = TypedEvent<[string, string], MarketEnteredEventObject>;
export declare type MarketEnteredEventFilter = TypedEventFilter<MarketEnteredEvent>;
export interface MarketExitedEventObject {
    auToken: string;
    account: string;
}
export declare type MarketExitedEvent = TypedEvent<[string, string], MarketExitedEventObject>;
export declare type MarketExitedEventFilter = TypedEventFilter<MarketExitedEvent>;
export interface MarketListedEventObject {
    auToken: string;
}
export declare type MarketListedEvent = TypedEvent<[string], MarketListedEventObject>;
export declare type MarketListedEventFilter = TypedEventFilter<MarketListedEvent>;
export interface NewBorrowCapEventObject {
    auToken: string;
    newBorrowCap: BigNumber;
}
export declare type NewBorrowCapEvent = TypedEvent<[string, BigNumber], NewBorrowCapEventObject>;
export declare type NewBorrowCapEventFilter = TypedEventFilter<NewBorrowCapEvent>;
export interface NewBorrowCapGuardianEventObject {
    oldBorrowCapGuardian: string;
    newBorrowCapGuardian: string;
}
export declare type NewBorrowCapGuardianEvent = TypedEvent<[string, string], NewBorrowCapGuardianEventObject>;
export declare type NewBorrowCapGuardianEventFilter = TypedEventFilter<NewBorrowCapGuardianEvent>;
export interface NewCloseFactorEventObject {
    oldCloseFactorMantissa: BigNumber;
    newCloseFactorMantissa: BigNumber;
}
export declare type NewCloseFactorEvent = TypedEvent<[BigNumber, BigNumber], NewCloseFactorEventObject>;
export declare type NewCloseFactorEventFilter = TypedEventFilter<NewCloseFactorEvent>;
export interface NewCollateralFactorEventObject {
    auToken: string;
    oldCollateralFactorMantissa: BigNumber;
    newCollateralFactorMantissa: BigNumber;
}
export declare type NewCollateralFactorEvent = TypedEvent<[string, BigNumber, BigNumber], NewCollateralFactorEventObject>;
export declare type NewCollateralFactorEventFilter = TypedEventFilter<NewCollateralFactorEvent>;
export interface NewLiquidationIncentiveEventObject {
    oldLiquidationIncentiveMantissa: BigNumber;
    newLiquidationIncentiveMantissa: BigNumber;
}
export declare type NewLiquidationIncentiveEvent = TypedEvent<[BigNumber, BigNumber], NewLiquidationIncentiveEventObject>;
export declare type NewLiquidationIncentiveEventFilter = TypedEventFilter<NewLiquidationIncentiveEvent>;
export interface NewMintCapEventObject {
    auToken: string;
    newMintCap: BigNumber;
}
export declare type NewMintCapEvent = TypedEvent<[string, BigNumber], NewMintCapEventObject>;
export declare type NewMintCapEventFilter = TypedEventFilter<NewMintCapEvent>;
export interface NewMintCapGuardianEventObject {
    oldMintCapGuardian: string;
    newMintCapGuardian: string;
}
export declare type NewMintCapGuardianEvent = TypedEvent<[string, string], NewMintCapGuardianEventObject>;
export declare type NewMintCapGuardianEventFilter = TypedEventFilter<NewMintCapGuardianEvent>;
export interface NewPauseGuardianEventObject {
    oldPauseGuardian: string;
    newPauseGuardian: string;
}
export declare type NewPauseGuardianEvent = TypedEvent<[string, string], NewPauseGuardianEventObject>;
export declare type NewPauseGuardianEventFilter = TypedEventFilter<NewPauseGuardianEvent>;
export interface NewPriceOracleEventObject {
    oldPriceOracle: string;
    newPriceOracle: string;
}
export declare type NewPriceOracleEvent = TypedEvent<[string, string], NewPriceOracleEventObject>;
export declare type NewPriceOracleEventFilter = TypedEventFilter<NewPriceOracleEvent>;
export interface PlyGrantedEventObject {
    recipient: string;
    amount: BigNumber;
}
export declare type PlyGrantedEvent = TypedEvent<[string, BigNumber], PlyGrantedEventObject>;
export declare type PlyGrantedEventFilter = TypedEventFilter<PlyGrantedEvent>;
export interface SpeedUpdatedEventObject {
    tokenType: number;
    auToken: string;
    isSupply: boolean;
    newSpeed: BigNumber;
}
export declare type SpeedUpdatedEvent = TypedEvent<[number, string, boolean, BigNumber], SpeedUpdatedEventObject>;
export declare type SpeedUpdatedEventFilter = TypedEventFilter<SpeedUpdatedEvent>;
export interface WhitelistStatusChangedEventObject {
    addr: string;
    newStatus: boolean;
}
export declare type WhitelistStatusChangedEvent = TypedEvent<[string, boolean], WhitelistStatusChangedEventObject>;
export declare type WhitelistStatusChangedEventFilter = TypedEventFilter<WhitelistStatusChangedEvent>;
export interface AurigamiComptroller extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: AurigamiComptrollerInterface;
    queryFilter<TEvent extends TypedEvent>(event: TypedEventFilter<TEvent>, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise<Array<TEvent>>;
    listeners<TEvent extends TypedEvent>(eventFilter?: TypedEventFilter<TEvent>): Array<TypedListener<TEvent>>;
    listeners(eventName?: string): Array<Listener>;
    removeAllListeners<TEvent extends TypedEvent>(eventFilter: TypedEventFilter<TEvent>): this;
    removeAllListeners(eventName?: string): this;
    off: OnEvent<this>;
    on: OnEvent<this>;
    once: OnEvent<this>;
    removeListener: OnEvent<this>;
    functions: {
        _become(unitroller: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _borrowGuardianPaused(overrides?: CallOverrides): Promise<[boolean]>;
        _grantPly(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _mintGuardianPaused(overrides?: CallOverrides): Promise<[boolean]>;
        _setBorrowCapGuardian(newBorrowCapGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setBorrowPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setCloseFactor(newCloseFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setCollateralFactor(auToken: PromiseOrValue<string>, newCollateralFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setLiquidationIncentive(newLiquidationIncentiveMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setMarketBorrowCaps(auTokens: PromiseOrValue<string>[], newBorrowCaps: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setMarketMintCaps(auTokens: PromiseOrValue<string>[], newMintCaps: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setMaxAssets(_maxAssets: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setMintCapGuardian(newMintCapGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setMintPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setPauseGuardian(newPauseGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setPriceOracle(newOracle: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setRewardSpeeds(rewardType: PromiseOrValue<BigNumberish>, auTokens: PromiseOrValue<string>[], rewardSpeeds: PromiseOrValue<BigNumberish>[], isSupply: PromiseOrValue<boolean>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setSeizePaused(state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _setTransferPaused(state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        _supportMarket(auToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        accountAssets(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        admin(overrides?: CallOverrides): Promise<[string]>;
        allMarkets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[string]>;
        aurora(overrides?: CallOverrides): Promise<[string]>;
        borrowAllowed(auToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        borrowCapGuardian(overrides?: CallOverrides): Promise<[string]>;
        borrowCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        borrowGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        checkMembership(account: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        'claimReward(uint8,address)'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'claimReward(uint8,address,address[])'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        'claimReward(uint8,address[],address[],bool,bool)'(rewardType: PromiseOrValue<BigNumberish>, holders: PromiseOrValue<string>[], auTokens: PromiseOrValue<string>[], borrowers: PromiseOrValue<boolean>, suppliers: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        closeFactorMantissa(overrides?: CallOverrides): Promise<[BigNumber]>;
        comptrollerImplementation(overrides?: CallOverrides): Promise<[string]>;
        enterMarkets(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        exitMarket(auTokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        getAccountLiquidity(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        getAllMarkets(overrides?: CallOverrides): Promise<[string[]]>;
        getAssetsIn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[string[]] & {
            assetsIn: string[];
        }>;
        getHypotheticalAccountLiquidity(account: PromiseOrValue<string>, auTokenModify: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        initialIndexConstant(overrides?: CallOverrides): Promise<[BigNumber]>;
        isAllowedToClaimReward(user: PromiseOrValue<string>, claimer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        isComptroller(overrides?: CallOverrides): Promise<[boolean]>;
        isWhitelisted(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        liquidateBorrowAllowed(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[void]>;
        liquidateCalculateSeizeTokens(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, actualRepayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<[BigNumber]>;
        markets(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            boolean,
            BigNumber,
            boolean
        ] & {
            isListed: boolean;
            collateralFactorMantissa: BigNumber;
            isPlyed: boolean;
        }>;
        maxAssets(overrides?: CallOverrides): Promise<[BigNumber]>;
        mintAllowed(auToken: PromiseOrValue<string>, minter: PromiseOrValue<string>, mintAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        mintCapGuardian(overrides?: CallOverrides): Promise<[string]>;
        mintCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        mintGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[boolean]>;
        oracle(overrides?: CallOverrides): Promise<[string]>;
        pauseGuardian(overrides?: CallOverrides): Promise<[string]>;
        pendingAdmin(overrides?: CallOverrides): Promise<[string]>;
        pendingComptrollerImplementation(overrides?: CallOverrides): Promise<[string]>;
        ply(overrides?: CallOverrides): Promise<[string]>;
        pulp(overrides?: CallOverrides): Promise<[string]>;
        redeemAllowed(auToken: PromiseOrValue<string>, redeemer: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        repayBorrowAllowed(auToken: PromiseOrValue<string>, payer: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        rewardAccrued(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        rewardAurora(overrides?: CallOverrides): Promise<[number]>;
        rewardBorrowState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, number] & {
            index: BigNumber;
            timestamp: number;
        }>;
        rewardBorrowerIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        rewardClaimStart(overrides?: CallOverrides): Promise<[number]>;
        rewardPly(overrides?: CallOverrides): Promise<[number]>;
        rewardRate(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber]>;
        rewardSpeeds(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<[BigNumber]>;
        rewardSupplierIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber]>;
        rewardSupplyState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, number] & {
            index: BigNumber;
            timestamp: number;
        }>;
        seizeAllowed(auTokenCollateral: PromiseOrValue<string>, auTokenBorrowed: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, seizeTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        seizeGuardianPaused(overrides?: CallOverrides): Promise<[boolean]>;
        setLockAddress(newPulp: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setRewardClaimStart(newRewardClaimStart: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setTokens(newPly: PromiseOrValue<string>, newAurora: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        setWhitelisted(addr: PromiseOrValue<string>, whitelisted: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferAllowed(auToken: PromiseOrValue<string>, src: PromiseOrValue<string>, dst: PromiseOrValue<string>, transferTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<ContractTransaction>;
        transferGuardianPaused(overrides?: CallOverrides): Promise<[boolean]>;
    };
    _become(unitroller: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _borrowGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
    _grantPly(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _mintGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
    _setBorrowCapGuardian(newBorrowCapGuardian: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setBorrowPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setCloseFactor(newCloseFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setCollateralFactor(auToken: PromiseOrValue<string>, newCollateralFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setLiquidationIncentive(newLiquidationIncentiveMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setMarketBorrowCaps(auTokens: PromiseOrValue<string>[], newBorrowCaps: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setMarketMintCaps(auTokens: PromiseOrValue<string>[], newMintCaps: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setMaxAssets(_maxAssets: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setMintCapGuardian(newMintCapGuardian: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setMintPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setPauseGuardian(newPauseGuardian: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setPriceOracle(newOracle: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setRewardSpeeds(rewardType: PromiseOrValue<BigNumberish>, auTokens: PromiseOrValue<string>[], rewardSpeeds: PromiseOrValue<BigNumberish>[], isSupply: PromiseOrValue<boolean>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setSeizePaused(state: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _setTransferPaused(state: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    _supportMarket(auToken: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    accountAssets(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    admin(overrides?: CallOverrides): Promise<string>;
    allMarkets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
    aurora(overrides?: CallOverrides): Promise<string>;
    borrowAllowed(auToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    borrowCapGuardian(overrides?: CallOverrides): Promise<string>;
    borrowCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    borrowGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    checkMembership(account: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    'claimReward(uint8,address)'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'claimReward(uint8,address,address[])'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    'claimReward(uint8,address[],address[],bool,bool)'(rewardType: PromiseOrValue<BigNumberish>, holders: PromiseOrValue<string>[], auTokens: PromiseOrValue<string>[], borrowers: PromiseOrValue<boolean>, suppliers: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    closeFactorMantissa(overrides?: CallOverrides): Promise<BigNumber>;
    comptrollerImplementation(overrides?: CallOverrides): Promise<string>;
    enterMarkets(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    exitMarket(auTokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    getAccountLiquidity(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
    getAllMarkets(overrides?: CallOverrides): Promise<string[]>;
    getAssetsIn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
    getHypotheticalAccountLiquidity(account: PromiseOrValue<string>, auTokenModify: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
    initialIndexConstant(overrides?: CallOverrides): Promise<BigNumber>;
    isAllowedToClaimReward(user: PromiseOrValue<string>, claimer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    isComptroller(overrides?: CallOverrides): Promise<boolean>;
    isWhitelisted(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    liquidateBorrowAllowed(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
    liquidateCalculateSeizeTokens(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, actualRepayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<BigNumber>;
    markets(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
        boolean,
        BigNumber,
        boolean
    ] & {
        isListed: boolean;
        collateralFactorMantissa: BigNumber;
        isPlyed: boolean;
    }>;
    maxAssets(overrides?: CallOverrides): Promise<BigNumber>;
    mintAllowed(auToken: PromiseOrValue<string>, minter: PromiseOrValue<string>, mintAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    mintCapGuardian(overrides?: CallOverrides): Promise<string>;
    mintCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    mintGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
    oracle(overrides?: CallOverrides): Promise<string>;
    pauseGuardian(overrides?: CallOverrides): Promise<string>;
    pendingAdmin(overrides?: CallOverrides): Promise<string>;
    pendingComptrollerImplementation(overrides?: CallOverrides): Promise<string>;
    ply(overrides?: CallOverrides): Promise<string>;
    pulp(overrides?: CallOverrides): Promise<string>;
    redeemAllowed(auToken: PromiseOrValue<string>, redeemer: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    repayBorrowAllowed(auToken: PromiseOrValue<string>, payer: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    rewardAccrued(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    rewardAurora(overrides?: CallOverrides): Promise<number>;
    rewardBorrowState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, number] & {
        index: BigNumber;
        timestamp: number;
    }>;
    rewardBorrowerIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    rewardClaimStart(overrides?: CallOverrides): Promise<number>;
    rewardPly(overrides?: CallOverrides): Promise<number>;
    rewardRate(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
    rewardSpeeds(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
    rewardSupplierIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
    rewardSupplyState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, number] & {
        index: BigNumber;
        timestamp: number;
    }>;
    seizeAllowed(auTokenCollateral: PromiseOrValue<string>, auTokenBorrowed: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, seizeTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    seizeGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
    setLockAddress(newPulp: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setRewardClaimStart(newRewardClaimStart: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setTokens(newPly: PromiseOrValue<string>, newAurora: PromiseOrValue<string>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    setWhitelisted(addr: PromiseOrValue<string>, whitelisted: PromiseOrValue<boolean>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferAllowed(auToken: PromiseOrValue<string>, src: PromiseOrValue<string>, dst: PromiseOrValue<string>, transferTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<ContractTransaction>;
    transferGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
    callStatic: {
        _become(unitroller: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        _borrowGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
        _grantPly(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        _mintGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
        _setBorrowCapGuardian(newBorrowCapGuardian: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        _setBorrowPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<boolean>;
        _setCloseFactor(newCloseFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        _setCollateralFactor(auToken: PromiseOrValue<string>, newCollateralFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        _setLiquidationIncentive(newLiquidationIncentiveMantissa: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        _setMarketBorrowCaps(auTokens: PromiseOrValue<string>[], newBorrowCaps: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
        _setMarketMintCaps(auTokens: PromiseOrValue<string>[], newMintCaps: PromiseOrValue<BigNumberish>[], overrides?: CallOverrides): Promise<void>;
        _setMaxAssets(_maxAssets: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        _setMintCapGuardian(newMintCapGuardian: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        _setMintPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<boolean>;
        _setPauseGuardian(newPauseGuardian: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        _setPriceOracle(newOracle: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        _setRewardSpeeds(rewardType: PromiseOrValue<BigNumberish>, auTokens: PromiseOrValue<string>[], rewardSpeeds: PromiseOrValue<BigNumberish>[], isSupply: PromiseOrValue<boolean>[], overrides?: CallOverrides): Promise<void>;
        _setSeizePaused(state: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<boolean>;
        _setTransferPaused(state: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<boolean>;
        _supportMarket(auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        accountAssets(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        admin(overrides?: CallOverrides): Promise<string>;
        allMarkets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<string>;
        aurora(overrides?: CallOverrides): Promise<string>;
        borrowAllowed(auToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        borrowCapGuardian(overrides?: CallOverrides): Promise<string>;
        borrowCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        borrowGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        checkMembership(account: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        'claimReward(uint8,address)'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        'claimReward(uint8,address,address[])'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, auTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
        'claimReward(uint8,address[],address[],bool,bool)'(rewardType: PromiseOrValue<BigNumberish>, holders: PromiseOrValue<string>[], auTokens: PromiseOrValue<string>[], borrowers: PromiseOrValue<boolean>, suppliers: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        closeFactorMantissa(overrides?: CallOverrides): Promise<BigNumber>;
        comptrollerImplementation(overrides?: CallOverrides): Promise<string>;
        enterMarkets(auTokens: PromiseOrValue<string>[], overrides?: CallOverrides): Promise<void>;
        exitMarket(auTokenAddress: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        getAccountLiquidity(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        getAllMarkets(overrides?: CallOverrides): Promise<string[]>;
        getAssetsIn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<string[]>;
        getHypotheticalAccountLiquidity(account: PromiseOrValue<string>, auTokenModify: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<[BigNumber, BigNumber]>;
        initialIndexConstant(overrides?: CallOverrides): Promise<BigNumber>;
        isAllowedToClaimReward(user: PromiseOrValue<string>, claimer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        isComptroller(overrides?: CallOverrides): Promise<boolean>;
        isWhitelisted(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        liquidateBorrowAllowed(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        liquidateCalculateSeizeTokens(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, actualRepayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<BigNumber>;
        markets(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[
            boolean,
            BigNumber,
            boolean
        ] & {
            isListed: boolean;
            collateralFactorMantissa: BigNumber;
            isPlyed: boolean;
        }>;
        maxAssets(overrides?: CallOverrides): Promise<BigNumber>;
        mintAllowed(auToken: PromiseOrValue<string>, minter: PromiseOrValue<string>, mintAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        mintCapGuardian(overrides?: CallOverrides): Promise<string>;
        mintCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        mintGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<boolean>;
        oracle(overrides?: CallOverrides): Promise<string>;
        pauseGuardian(overrides?: CallOverrides): Promise<string>;
        pendingAdmin(overrides?: CallOverrides): Promise<string>;
        pendingComptrollerImplementation(overrides?: CallOverrides): Promise<string>;
        ply(overrides?: CallOverrides): Promise<string>;
        pulp(overrides?: CallOverrides): Promise<string>;
        redeemAllowed(auToken: PromiseOrValue<string>, redeemer: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        repayBorrowAllowed(auToken: PromiseOrValue<string>, payer: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        rewardAccrued(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardAurora(overrides?: CallOverrides): Promise<number>;
        rewardBorrowState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, number] & {
            index: BigNumber;
            timestamp: number;
        }>;
        rewardBorrowerIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardClaimStart(overrides?: CallOverrides): Promise<number>;
        rewardPly(overrides?: CallOverrides): Promise<number>;
        rewardRate(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardSpeeds(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardSupplierIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardSupplyState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<[BigNumber, number] & {
            index: BigNumber;
            timestamp: number;
        }>;
        seizeAllowed(auTokenCollateral: PromiseOrValue<string>, auTokenBorrowed: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, seizeTokens: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        seizeGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
        setLockAddress(newPulp: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setRewardClaimStart(newRewardClaimStart: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        setTokens(newPly: PromiseOrValue<string>, newAurora: PromiseOrValue<string>, overrides?: CallOverrides): Promise<void>;
        setWhitelisted(addr: PromiseOrValue<string>, whitelisted: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<void>;
        transferAllowed(auToken: PromiseOrValue<string>, src: PromiseOrValue<string>, dst: PromiseOrValue<string>, transferTokens: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<void>;
        transferGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
    };
    filters: {
        'ActionPaused(string,bool)'(action?: null, pauseState?: null): ActionPausedEventFilter;
        ActionPaused(action?: null, pauseState?: null): ActionPausedEventFilter;
        'ContributorPlySpeedUpdated(address,uint256)'(contributor?: PromiseOrValue<string> | null, newSpeed?: null): ContributorPlySpeedUpdatedEventFilter;
        ContributorPlySpeedUpdated(contributor?: PromiseOrValue<string> | null, newSpeed?: null): ContributorPlySpeedUpdatedEventFilter;
        'DistributedBorrowerReward(uint8,address,address,uint256,uint256)'(tokenType?: PromiseOrValue<BigNumberish> | null, auToken?: PromiseOrValue<string> | null, borrower?: PromiseOrValue<string> | null, plyDelta?: null, plyBorrowIndex?: null): DistributedBorrowerRewardEventFilter;
        DistributedBorrowerReward(tokenType?: PromiseOrValue<BigNumberish> | null, auToken?: PromiseOrValue<string> | null, borrower?: PromiseOrValue<string> | null, plyDelta?: null, plyBorrowIndex?: null): DistributedBorrowerRewardEventFilter;
        'DistributedSupplierReward(uint8,address,address,uint256,uint256)'(tokenType?: PromiseOrValue<BigNumberish> | null, auToken?: PromiseOrValue<string> | null, borrower?: PromiseOrValue<string> | null, plyDelta?: null, plyBorrowIndex?: null): DistributedSupplierRewardEventFilter;
        DistributedSupplierReward(tokenType?: PromiseOrValue<BigNumberish> | null, auToken?: PromiseOrValue<string> | null, borrower?: PromiseOrValue<string> | null, plyDelta?: null, plyBorrowIndex?: null): DistributedSupplierRewardEventFilter;
        'MarketEntered(address,address)'(auToken?: null, account?: null): MarketEnteredEventFilter;
        MarketEntered(auToken?: null, account?: null): MarketEnteredEventFilter;
        'MarketExited(address,address)'(auToken?: null, account?: null): MarketExitedEventFilter;
        MarketExited(auToken?: null, account?: null): MarketExitedEventFilter;
        'MarketListed(address)'(auToken?: null): MarketListedEventFilter;
        MarketListed(auToken?: null): MarketListedEventFilter;
        'NewBorrowCap(address,uint256)'(auToken?: PromiseOrValue<string> | null, newBorrowCap?: null): NewBorrowCapEventFilter;
        NewBorrowCap(auToken?: PromiseOrValue<string> | null, newBorrowCap?: null): NewBorrowCapEventFilter;
        'NewBorrowCapGuardian(address,address)'(oldBorrowCapGuardian?: null, newBorrowCapGuardian?: null): NewBorrowCapGuardianEventFilter;
        NewBorrowCapGuardian(oldBorrowCapGuardian?: null, newBorrowCapGuardian?: null): NewBorrowCapGuardianEventFilter;
        'NewCloseFactor(uint256,uint256)'(oldCloseFactorMantissa?: null, newCloseFactorMantissa?: null): NewCloseFactorEventFilter;
        NewCloseFactor(oldCloseFactorMantissa?: null, newCloseFactorMantissa?: null): NewCloseFactorEventFilter;
        'NewCollateralFactor(address,uint256,uint256)'(auToken?: null, oldCollateralFactorMantissa?: null, newCollateralFactorMantissa?: null): NewCollateralFactorEventFilter;
        NewCollateralFactor(auToken?: null, oldCollateralFactorMantissa?: null, newCollateralFactorMantissa?: null): NewCollateralFactorEventFilter;
        'NewLiquidationIncentive(uint256,uint256)'(oldLiquidationIncentiveMantissa?: null, newLiquidationIncentiveMantissa?: null): NewLiquidationIncentiveEventFilter;
        NewLiquidationIncentive(oldLiquidationIncentiveMantissa?: null, newLiquidationIncentiveMantissa?: null): NewLiquidationIncentiveEventFilter;
        'NewMintCap(address,uint256)'(auToken?: PromiseOrValue<string> | null, newMintCap?: null): NewMintCapEventFilter;
        NewMintCap(auToken?: PromiseOrValue<string> | null, newMintCap?: null): NewMintCapEventFilter;
        'NewMintCapGuardian(address,address)'(oldMintCapGuardian?: null, newMintCapGuardian?: null): NewMintCapGuardianEventFilter;
        NewMintCapGuardian(oldMintCapGuardian?: null, newMintCapGuardian?: null): NewMintCapGuardianEventFilter;
        'NewPauseGuardian(address,address)'(oldPauseGuardian?: null, newPauseGuardian?: null): NewPauseGuardianEventFilter;
        NewPauseGuardian(oldPauseGuardian?: null, newPauseGuardian?: null): NewPauseGuardianEventFilter;
        'NewPriceOracle(address,address)'(oldPriceOracle?: null, newPriceOracle?: null): NewPriceOracleEventFilter;
        NewPriceOracle(oldPriceOracle?: null, newPriceOracle?: null): NewPriceOracleEventFilter;
        'PlyGranted(address,uint256)'(recipient?: null, amount?: null): PlyGrantedEventFilter;
        PlyGranted(recipient?: null, amount?: null): PlyGrantedEventFilter;
        'SpeedUpdated(uint8,address,bool,uint256)'(tokenType?: null, auToken?: PromiseOrValue<string> | null, isSupply?: null, newSpeed?: null): SpeedUpdatedEventFilter;
        SpeedUpdated(tokenType?: null, auToken?: PromiseOrValue<string> | null, isSupply?: null, newSpeed?: null): SpeedUpdatedEventFilter;
        'WhitelistStatusChanged(address,bool)'(addr?: null, newStatus?: null): WhitelistStatusChangedEventFilter;
        WhitelistStatusChanged(addr?: null, newStatus?: null): WhitelistStatusChangedEventFilter;
    };
    estimateGas: {
        _become(unitroller: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _borrowGuardianPaused(overrides?: CallOverrides): Promise<BigNumber>;
        _grantPly(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _mintGuardianPaused(overrides?: CallOverrides): Promise<BigNumber>;
        _setBorrowCapGuardian(newBorrowCapGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setBorrowPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setCloseFactor(newCloseFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setCollateralFactor(auToken: PromiseOrValue<string>, newCollateralFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setLiquidationIncentive(newLiquidationIncentiveMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setMarketBorrowCaps(auTokens: PromiseOrValue<string>[], newBorrowCaps: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setMarketMintCaps(auTokens: PromiseOrValue<string>[], newMintCaps: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setMaxAssets(_maxAssets: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setMintCapGuardian(newMintCapGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setMintPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setPauseGuardian(newPauseGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setPriceOracle(newOracle: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setRewardSpeeds(rewardType: PromiseOrValue<BigNumberish>, auTokens: PromiseOrValue<string>[], rewardSpeeds: PromiseOrValue<BigNumberish>[], isSupply: PromiseOrValue<boolean>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setSeizePaused(state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _setTransferPaused(state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        _supportMarket(auToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        accountAssets(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        admin(overrides?: CallOverrides): Promise<BigNumber>;
        allMarkets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        aurora(overrides?: CallOverrides): Promise<BigNumber>;
        borrowAllowed(auToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        borrowCapGuardian(overrides?: CallOverrides): Promise<BigNumber>;
        borrowCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        borrowGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        checkMembership(account: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        'claimReward(uint8,address)'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'claimReward(uint8,address,address[])'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        'claimReward(uint8,address[],address[],bool,bool)'(rewardType: PromiseOrValue<BigNumberish>, holders: PromiseOrValue<string>[], auTokens: PromiseOrValue<string>[], borrowers: PromiseOrValue<boolean>, suppliers: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        closeFactorMantissa(overrides?: CallOverrides): Promise<BigNumber>;
        comptrollerImplementation(overrides?: CallOverrides): Promise<BigNumber>;
        enterMarkets(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        exitMarket(auTokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        getAccountLiquidity(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getAllMarkets(overrides?: CallOverrides): Promise<BigNumber>;
        getAssetsIn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        getHypotheticalAccountLiquidity(account: PromiseOrValue<string>, auTokenModify: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        initialIndexConstant(overrides?: CallOverrides): Promise<BigNumber>;
        isAllowedToClaimReward(user: PromiseOrValue<string>, claimer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        isComptroller(overrides?: CallOverrides): Promise<BigNumber>;
        isWhitelisted(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        liquidateBorrowAllowed(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        liquidateCalculateSeizeTokens(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, actualRepayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<BigNumber>;
        markets(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        maxAssets(overrides?: CallOverrides): Promise<BigNumber>;
        mintAllowed(auToken: PromiseOrValue<string>, minter: PromiseOrValue<string>, mintAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        mintCapGuardian(overrides?: CallOverrides): Promise<BigNumber>;
        mintCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        mintGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        oracle(overrides?: CallOverrides): Promise<BigNumber>;
        pauseGuardian(overrides?: CallOverrides): Promise<BigNumber>;
        pendingAdmin(overrides?: CallOverrides): Promise<BigNumber>;
        pendingComptrollerImplementation(overrides?: CallOverrides): Promise<BigNumber>;
        ply(overrides?: CallOverrides): Promise<BigNumber>;
        pulp(overrides?: CallOverrides): Promise<BigNumber>;
        redeemAllowed(auToken: PromiseOrValue<string>, redeemer: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        repayBorrowAllowed(auToken: PromiseOrValue<string>, payer: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        rewardAccrued(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardAurora(overrides?: CallOverrides): Promise<BigNumber>;
        rewardBorrowState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardBorrowerIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardClaimStart(overrides?: CallOverrides): Promise<BigNumber>;
        rewardPly(overrides?: CallOverrides): Promise<BigNumber>;
        rewardRate(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardSpeeds(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardSupplierIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        rewardSupplyState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<BigNumber>;
        seizeAllowed(auTokenCollateral: PromiseOrValue<string>, auTokenBorrowed: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, seizeTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        seizeGuardianPaused(overrides?: CallOverrides): Promise<BigNumber>;
        setLockAddress(newPulp: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setRewardClaimStart(newRewardClaimStart: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setTokens(newPly: PromiseOrValue<string>, newAurora: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        setWhitelisted(addr: PromiseOrValue<string>, whitelisted: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferAllowed(auToken: PromiseOrValue<string>, src: PromiseOrValue<string>, dst: PromiseOrValue<string>, transferTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<BigNumber>;
        transferGuardianPaused(overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        _become(unitroller: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _borrowGuardianPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        _grantPly(recipient: PromiseOrValue<string>, amount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _mintGuardianPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        _setBorrowCapGuardian(newBorrowCapGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setBorrowPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setCloseFactor(newCloseFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setCollateralFactor(auToken: PromiseOrValue<string>, newCollateralFactorMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setLiquidationIncentive(newLiquidationIncentiveMantissa: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setMarketBorrowCaps(auTokens: PromiseOrValue<string>[], newBorrowCaps: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setMarketMintCaps(auTokens: PromiseOrValue<string>[], newMintCaps: PromiseOrValue<BigNumberish>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setMaxAssets(_maxAssets: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setMintCapGuardian(newMintCapGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setMintPaused(auToken: PromiseOrValue<string>, state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setPauseGuardian(newPauseGuardian: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setPriceOracle(newOracle: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setRewardSpeeds(rewardType: PromiseOrValue<BigNumberish>, auTokens: PromiseOrValue<string>[], rewardSpeeds: PromiseOrValue<BigNumberish>[], isSupply: PromiseOrValue<boolean>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setSeizePaused(state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _setTransferPaused(state: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        _supportMarket(auToken: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        accountAssets(arg0: PromiseOrValue<string>, arg1: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        admin(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        allMarkets(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        aurora(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrowAllowed(auToken: PromiseOrValue<string>, borrower: PromiseOrValue<string>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        borrowCapGuardian(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrowCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrowGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        checkMembership(account: PromiseOrValue<string>, auToken: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        'claimReward(uint8,address)'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'claimReward(uint8,address,address[])'(rewardType: PromiseOrValue<BigNumberish>, holder: PromiseOrValue<string>, auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        'claimReward(uint8,address[],address[],bool,bool)'(rewardType: PromiseOrValue<BigNumberish>, holders: PromiseOrValue<string>[], auTokens: PromiseOrValue<string>[], borrowers: PromiseOrValue<boolean>, suppliers: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        closeFactorMantissa(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        comptrollerImplementation(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        enterMarkets(auTokens: PromiseOrValue<string>[], overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        exitMarket(auTokenAddress: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        getAccountLiquidity(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAllMarkets(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getAssetsIn(account: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getHypotheticalAccountLiquidity(account: PromiseOrValue<string>, auTokenModify: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, borrowAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialIndexConstant(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isAllowedToClaimReward(user: PromiseOrValue<string>, claimer: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isComptroller(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        isWhitelisted(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        liquidateBorrowAllowed(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        liquidateCalculateSeizeTokens(auTokenBorrowed: PromiseOrValue<string>, auTokenCollateral: PromiseOrValue<string>, actualRepayAmount: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        markets(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        maxAssets(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mintAllowed(auToken: PromiseOrValue<string>, minter: PromiseOrValue<string>, mintAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        mintCapGuardian(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mintCaps(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mintGuardianPaused(arg0: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        oracle(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pauseGuardian(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingAdmin(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingComptrollerImplementation(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        ply(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pulp(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        redeemAllowed(auToken: PromiseOrValue<string>, redeemer: PromiseOrValue<string>, redeemTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        repayBorrowAllowed(auToken: PromiseOrValue<string>, payer: PromiseOrValue<string>, borrower: PromiseOrValue<string>, repayAmount: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        rewardAccrued(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardAurora(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardBorrowState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardBorrowerIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardClaimStart(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardPly(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardRate(arg0: PromiseOrValue<BigNumberish>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardSpeeds(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<boolean>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardSupplierIndex(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, arg2: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardSupplyState(arg0: PromiseOrValue<BigNumberish>, arg1: PromiseOrValue<string>, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        seizeAllowed(auTokenCollateral: PromiseOrValue<string>, auTokenBorrowed: PromiseOrValue<string>, liquidator: PromiseOrValue<string>, borrower: PromiseOrValue<string>, seizeTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        seizeGuardianPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        setLockAddress(newPulp: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setRewardClaimStart(newRewardClaimStart: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setTokens(newPly: PromiseOrValue<string>, newAurora: PromiseOrValue<string>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        setWhitelisted(addr: PromiseOrValue<string>, whitelisted: PromiseOrValue<boolean>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferAllowed(auToken: PromiseOrValue<string>, src: PromiseOrValue<string>, dst: PromiseOrValue<string>, transferTokens: PromiseOrValue<BigNumberish>, overrides?: Overrides & {
            from?: PromiseOrValue<string>;
        }): Promise<PopulatedTransaction>;
        transferGuardianPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
