import { ContractFactory, ContractTransactionResponse } from "ethers";
import type { Signer, ContractDeployTransaction, ContractRunner } from "ethers";
import type { NonPayableOverrides } from "../../../common";
import type { SuErc20, SuErc20Interface } from "../../../contracts/CToken/SuErc20";
type SuErc20ConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class SuErc20__factory extends ContractFactory {
    constructor(...args: SuErc20ConstructorParams);
    getDeployTransaction(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<ContractDeployTransaction>;
    deploy(overrides?: NonPayableOverrides & {
        from?: string;
    }): Promise<SuErc20 & {
        deploymentTransaction(): ContractTransactionResponse;
    }>;
    connect(runner: ContractRunner | null): SuErc20__factory;
    static readonly bytecode = " ";
    static readonly abi: readonly [{
        readonly inputs: readonly [];
        readonly name: "AddReservesMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "AddReservesOverflow";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "BorrowAndDepositBackFailed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "BorrowCapReached";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "BorrowCashNotAvailable";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "BorrowMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "BorrowPaused";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "usdThreshold";
            readonly type: "uint256";
        }];
        readonly name: "BorrowValueMustBeLargerThanThreshold";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CantEnterPausedMarket";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CantExitMarketWithNonZeroBorrowBalance";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "CantSweepUnderlying";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ComptrollerMismatch";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "EitherAssetOrDebtMustBeZero";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "groupId";
            readonly type: "uint8";
        }, {
            readonly internalType: "uint256";
            readonly name: "cDepositVal";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "suDepositVal";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "cBorrowVal";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "suBorrowVal";
            readonly type: "uint256";
        }];
        readonly name: "EitherAssetOrDebtMustBeZeroInGroup";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ExpiredSignature";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InsufficientCollateral";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InsufficientShortfall";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InterMintNotAllowed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidAddress";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidAmount";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidBlockNumber";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidCToken";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidCloseFactor";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidComptroller";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidDiscountRate";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidExchangeRate";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidGroupId";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidInput";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidInterestRateModel";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidMinSuBorrowValue";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidRedeem";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidReduceAmount";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidReserveFactor";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "signer";
            readonly type: "address";
        }];
        readonly name: "InvalidSignatureForBorrow";
        readonly type: "error";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "signer";
            readonly type: "address";
        }];
        readonly name: "InvalidSignatureForMint";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidSignatureForRedeemFaceValue";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidSignatureLength";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidSuToken";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "InvalidTimestamp";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "LiquidateBorrow_LiquidatorIsBorrower";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "LiquidateBorrow_RepayAmountIsMax";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "LiquidateBorrow_RepayAmountIsZero";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "LiquidateBorrow_SeizeTooMuch";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "LiquidateCollateralMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "LiquidateMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MarketAlreadyListed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MarketAlreadyUnlisted";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MarketCanOnlyInitializeOnce";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MarketNotEmpty";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MarketNotListed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MarketPaused";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MinDelayNotReached";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MintMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MintPaused";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "MintTokensCantBeZero";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NoRedemptionProvider";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotCToken";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotEnoughForSeize";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotEnoughRedeemAmount";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotEnoughRedeemTokens";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotEnoughUnderlyingAfterRedeem";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotEnoughUnderlyingForMint";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotImplemented";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotLiquidatableYet";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "NotSuToken";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlyAdmin";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlyAdminOrPauser";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlyCToken";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlyListedCToken";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlyPausedMarketCanBeUnlisted";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlyPendingAdmin";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OnlyRedemptionManager";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "OverThreshold";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "PriceError";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ProtectedMint_OnlyAllowAssetsInTheSameGroup";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "RedeemMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "RedeemTransferOutNotPossible";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "RedemptionSeizeTooMuch";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "RedemptionSignerNotInitialized";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ReduceReservesCashNotAvailable";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ReduceReservesMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "Reentered";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "RepayBorrowMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "RepayTokenNotListed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SeizePaused";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SeizeTokenNotListed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "Seize_LiquidatorIsBorrower";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SenderMustBeCToken";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SetInterestRateModelMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SetReservesFactorMarketNotFresh";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "SupplyCapReached";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TokenInOrAmountInMustBeZero";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TokenTransferInFailed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TokenTransferOutFailed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TooMuchRepay";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TotalBorrowsNotZero";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TotalSupplyNotZero";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TransferNotAllowed";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "TransferPaused";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "UnderlyingBalanceError";
        readonly type: "error";
    }, {
        readonly inputs: readonly [];
        readonly name: "ZeroAddressNotAllowed";
        readonly type: "error";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "cashPrior";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "interestAccumulated";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "borrowIndex";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "totalBorrows";
            readonly type: "uint256";
        }];
        readonly name: "AccrueInterest";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "Approval";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "borrowAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "accountBorrows";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "totalBorrows";
            readonly type: "uint256";
        }];
        readonly name: "Borrow";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint8";
            readonly name: "version";
            readonly type: "uint8";
        }];
        readonly name: "Initialized";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "liquidator";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "repayAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "cTokenCollateral";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "seizeTokens";
            readonly type: "uint256";
        }];
        readonly name: "LiquidateBorrow";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "minter";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "mintAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "mintTokens";
            readonly type: "uint256";
        }];
        readonly name: "Mint";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "oldAdmin";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "newAdmin";
            readonly type: "address";
        }];
        readonly name: "NewAdmin";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "oldComptroller";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "newComptroller";
            readonly type: "address";
        }];
        readonly name: "NewComptroller";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "oldDiscountRateMantissa";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newDiscountRateMantissa";
            readonly type: "uint256";
        }];
        readonly name: "NewDiscountRate";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "oldInterestRateModel";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "newInterestRateModel";
            readonly type: "address";
        }];
        readonly name: "NewMarketInterestRateModel";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "oldPendingAdmin";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "newPendingAdmin";
            readonly type: "address";
        }];
        readonly name: "NewPendingAdmin";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "oldReserveFactorMantissa";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newReserveFactorMantissa";
            readonly type: "uint256";
        }];
        readonly name: "NewReserveFactor";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "redeemer";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "redeemAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "redeemTokens";
            readonly type: "uint256";
        }];
        readonly name: "Redeem";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "redeemer";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "provider";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "repayAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "seizeToken";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "seizeAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "redemptionRateMantissa";
            readonly type: "uint256";
        }];
        readonly name: "RedeemFaceValue";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "payer";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "repayAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "accountBorrows";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "totalBorrows";
            readonly type: "uint256";
        }];
        readonly name: "RepayBorrow";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "benefactor";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "addAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newTotalReserves";
            readonly type: "uint256";
        }];
        readonly name: "ReservesAdded";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: false;
            readonly internalType: "address";
            readonly name: "admin";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "reduceAmount";
            readonly type: "uint256";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "newTotalReserves";
            readonly type: "uint256";
        }];
        readonly name: "ReservesReduced";
        readonly type: "event";
    }, {
        readonly anonymous: false;
        readonly inputs: readonly [{
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "from";
            readonly type: "address";
        }, {
            readonly indexed: true;
            readonly internalType: "address";
            readonly name: "to";
            readonly type: "address";
        }, {
            readonly indexed: false;
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "Transfer";
        readonly type: "event";
    }, {
        readonly inputs: readonly [];
        readonly name: "_acceptAdmin";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "addAmount";
            readonly type: "uint256";
        }];
        readonly name: "_addReserves";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "reduceAmount";
            readonly type: "uint256";
        }];
        readonly name: "_reduceReserves";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newComptroller";
            readonly type: "address";
        }];
        readonly name: "_setComptroller";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "discountRateMantissa_";
            readonly type: "uint256";
        }];
        readonly name: "_setDiscountRate";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "newInterestRateModel";
            readonly type: "address";
        }];
        readonly name: "_setInterestRateModel";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address payable";
            readonly name: "newPendingAdmin";
            readonly type: "address";
        }];
        readonly name: "_setPendingAdmin";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "newReserveFactorMantissa";
            readonly type: "uint256";
        }];
        readonly name: "_setReserveFactor";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "_syncUnderlyingBalance";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "accrualBlockTimestamp";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "accrueInterest";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "admin";
        readonly outputs: readonly [{
            readonly internalType: "address payable";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }];
        readonly name: "allowance";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "spender";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "approve";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }];
        readonly name: "balanceOf";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "owner";
            readonly type: "address";
        }];
        readonly name: "balanceOfUnderlying";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "borrowAmount";
            readonly type: "uint256";
        }];
        readonly name: "borrow";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "borrowAmount";
            readonly type: "uint256";
        }];
        readonly name: "borrowAndDepositBack";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "borrowBalanceCurrent";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "borrowBalanceStored";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "borrowIndex";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "borrowRatePerBlock";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "comptroller";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "decimals";
        readonly outputs: readonly [{
            readonly internalType: "uint8";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "discountRateMantissa";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "exchangeRateCurrent";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "exchangeRateStored";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "redeemer";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "provider";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "repayAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "cTokenCollateral";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "seizeAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "redemptionRateMantissa";
            readonly type: "uint256";
        }];
        readonly name: "executeRedemption";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "account";
            readonly type: "address";
        }];
        readonly name: "getAccountSnapshot";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "getCash";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "underlying_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "comptroller_";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "interestRateModel_";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "initialExchangeRateMantissa_";
            readonly type: "uint256";
        }, {
            readonly internalType: "string";
            readonly name: "name_";
            readonly type: "string";
        }, {
            readonly internalType: "string";
            readonly name: "symbol_";
            readonly type: "string";
        }, {
            readonly internalType: "uint8";
            readonly name: "decimals_";
            readonly type: "uint8";
        }, {
            readonly internalType: "address payable";
            readonly name: "admin_";
            readonly type: "address";
        }];
        readonly name: "initialize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "interestRateModel";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "isCEther";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "isCEtherDeprecated";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "isCToken";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "isCTokenDeprecated";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "repayAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "address";
            readonly name: "cTokenCollateral";
            readonly type: "address";
        }];
        readonly name: "liquidateBorrow";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "cTokenCollateral";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "actualRepayAmount";
            readonly type: "uint256";
        }];
        readonly name: "liquidateCalculateSeizeTokens";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "mintAmount";
            readonly type: "uint256";
        }];
        readonly name: "mint";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "mintAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes";
            readonly name: "signature";
            readonly type: "bytes";
        }];
        readonly name: "mintWithPermit";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "name";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "pendingAdmin";
        readonly outputs: readonly [{
            readonly internalType: "address payable";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "percentScale";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "cTokenCollateral";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "cBorrowAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "suBorrowAmount";
            readonly type: "uint256";
        }];
        readonly name: "protectedMint";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "protocolSeizeShareMantissa";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "redeemTokens";
            readonly type: "uint256";
        }];
        readonly name: "redeem";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "redeemAmount";
            readonly type: "uint256";
        }];
        readonly name: "redeemUnderlying";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "repayAmount";
            readonly type: "uint256";
        }];
        readonly name: "repayBorrow";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "repayAmount";
            readonly type: "uint256";
        }];
        readonly name: "repayBorrowBehalf";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "repayAmount";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "deadline";
            readonly type: "uint256";
        }, {
            readonly internalType: "bytes";
            readonly name: "signature";
            readonly type: "bytes";
        }];
        readonly name: "repayBorrowWithPermit";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "reserveFactorMantissa";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "liquidator";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "borrower";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "seizeTokens";
            readonly type: "uint256";
        }, {
            readonly internalType: "uint256";
            readonly name: "seizeProfitTokens";
            readonly type: "uint256";
        }, {
            readonly internalType: "bool";
            readonly name: "isRedemption";
            readonly type: "bool";
        }, {
            readonly internalType: "uint256";
            readonly name: "redemptionRateMantissa";
            readonly type: "uint256";
        }];
        readonly name: "seize";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "supplyRatePerBlock";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "contract ERC20";
            readonly name: "token";
            readonly type: "address";
        }];
        readonly name: "sweepToken";
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "symbol";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "tokenType";
        readonly outputs: readonly [{
            readonly internalType: "enum CToken.CTokenType";
            readonly name: "";
            readonly type: "uint8";
        }];
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "totalBorrows";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "totalBorrowsCurrent";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "totalReserves";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "totalSupply";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "dst";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "transfer";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "src";
            readonly type: "address";
        }, {
            readonly internalType: "address";
            readonly name: "dst";
            readonly type: "address";
        }, {
            readonly internalType: "uint256";
            readonly name: "amount";
            readonly type: "uint256";
        }];
        readonly name: "transferFrom";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "underlying";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly inputs: readonly [];
        readonly name: "underlyingBalance";
        readonly outputs: readonly [{
            readonly internalType: "uint256";
            readonly name: "";
            readonly type: "uint256";
        }];
        readonly stateMutability: "view";
        readonly type: "function";
    }];
    static createInterface(): SuErc20Interface;
    static connect(address: string, runner?: ContractRunner | null): SuErc20;
}
export {};
