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 } from "./common";
export interface UnitrollerInterface extends utils.Interface {
    functions: {
        "_acceptAdmin()": FunctionFragment;
        "_borrowGuardianPaused()": FunctionFragment;
        "_listExtensions()": FunctionFragment;
        "_mintGuardianPaused()": FunctionFragment;
        "_registerExtension(address,address)": FunctionFragment;
        "_setPendingAdmin(address)": FunctionFragment;
        "_toggleAdminRights(bool)": FunctionFragment;
        "_upgrade()": FunctionFragment;
        "accountAssets(address,uint256)": FunctionFragment;
        "admin()": FunctionFragment;
        "adminHasRights()": FunctionFragment;
        "allBorrowers(uint256)": FunctionFragment;
        "allMarkets(uint256)": FunctionFragment;
        "borrowCapForCollateral(address,address)": FunctionFragment;
        "borrowCapGuardian()": FunctionFragment;
        "borrowCaps(address)": FunctionFragment;
        "borrowGuardianPaused(address)": FunctionFragment;
        "borrowingAgainstCollateralBlacklist(address,address)": FunctionFragment;
        "cTokensByUnderlying(address)": FunctionFragment;
        "closeFactorMantissa()": FunctionFragment;
        "comptrollerImplementation()": FunctionFragment;
        "enforceWhitelist()": FunctionFragment;
        "ionicAdmin()": FunctionFragment;
        "ionicAdminHasRights()": FunctionFragment;
        "liquidationIncentiveMantissa()": FunctionFragment;
        "markets(address)": FunctionFragment;
        "mintGuardianPaused(address)": FunctionFragment;
        "nonAccruingRewardsDistributors(uint256)": FunctionFragment;
        "oracle()": FunctionFragment;
        "pauseGuardian()": FunctionFragment;
        "pendingAdmin()": FunctionFragment;
        "rewardsDistributors(uint256)": FunctionFragment;
        "seizeGuardianPaused()": FunctionFragment;
        "suppliers(address)": FunctionFragment;
        "supplyCaps(address)": FunctionFragment;
        "transferGuardianPaused()": FunctionFragment;
        "whitelist(address)": FunctionFragment;
        "whitelistArray(uint256)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "_acceptAdmin" | "_borrowGuardianPaused" | "_listExtensions" | "_mintGuardianPaused" | "_registerExtension" | "_setPendingAdmin" | "_toggleAdminRights" | "_upgrade" | "accountAssets" | "admin" | "adminHasRights" | "allBorrowers" | "allMarkets" | "borrowCapForCollateral" | "borrowCapGuardian" | "borrowCaps" | "borrowGuardianPaused" | "borrowingAgainstCollateralBlacklist" | "cTokensByUnderlying" | "closeFactorMantissa" | "comptrollerImplementation" | "enforceWhitelist" | "ionicAdmin" | "ionicAdminHasRights" | "liquidationIncentiveMantissa" | "markets" | "mintGuardianPaused" | "nonAccruingRewardsDistributors" | "oracle" | "pauseGuardian" | "pendingAdmin" | "rewardsDistributors" | "seizeGuardianPaused" | "suppliers" | "supplyCaps" | "transferGuardianPaused" | "whitelist" | "whitelistArray"): FunctionFragment;
    encodeFunctionData(functionFragment: "_acceptAdmin", values?: undefined): string;
    encodeFunctionData(functionFragment: "_borrowGuardianPaused", values?: undefined): string;
    encodeFunctionData(functionFragment: "_listExtensions", values?: undefined): string;
    encodeFunctionData(functionFragment: "_mintGuardianPaused", values?: undefined): string;
    encodeFunctionData(functionFragment: "_registerExtension", values: [string, string]): string;
    encodeFunctionData(functionFragment: "_setPendingAdmin", values: [string]): string;
    encodeFunctionData(functionFragment: "_toggleAdminRights", values: [boolean]): string;
    encodeFunctionData(functionFragment: "_upgrade", values?: undefined): string;
    encodeFunctionData(functionFragment: "accountAssets", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "admin", values?: undefined): string;
    encodeFunctionData(functionFragment: "adminHasRights", values?: undefined): string;
    encodeFunctionData(functionFragment: "allBorrowers", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "allMarkets", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "borrowCapForCollateral", values: [string, string]): string;
    encodeFunctionData(functionFragment: "borrowCapGuardian", values?: undefined): string;
    encodeFunctionData(functionFragment: "borrowCaps", values: [string]): string;
    encodeFunctionData(functionFragment: "borrowGuardianPaused", values: [string]): string;
    encodeFunctionData(functionFragment: "borrowingAgainstCollateralBlacklist", values: [string, string]): string;
    encodeFunctionData(functionFragment: "cTokensByUnderlying", values: [string]): string;
    encodeFunctionData(functionFragment: "closeFactorMantissa", values?: undefined): string;
    encodeFunctionData(functionFragment: "comptrollerImplementation", values?: undefined): string;
    encodeFunctionData(functionFragment: "enforceWhitelist", values?: undefined): string;
    encodeFunctionData(functionFragment: "ionicAdmin", values?: undefined): string;
    encodeFunctionData(functionFragment: "ionicAdminHasRights", values?: undefined): string;
    encodeFunctionData(functionFragment: "liquidationIncentiveMantissa", values?: undefined): string;
    encodeFunctionData(functionFragment: "markets", values: [string]): string;
    encodeFunctionData(functionFragment: "mintGuardianPaused", values: [string]): string;
    encodeFunctionData(functionFragment: "nonAccruingRewardsDistributors", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "oracle", values?: undefined): string;
    encodeFunctionData(functionFragment: "pauseGuardian", values?: undefined): string;
    encodeFunctionData(functionFragment: "pendingAdmin", values?: undefined): string;
    encodeFunctionData(functionFragment: "rewardsDistributors", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "seizeGuardianPaused", values?: undefined): string;
    encodeFunctionData(functionFragment: "suppliers", values: [string]): string;
    encodeFunctionData(functionFragment: "supplyCaps", values: [string]): string;
    encodeFunctionData(functionFragment: "transferGuardianPaused", values?: undefined): string;
    encodeFunctionData(functionFragment: "whitelist", values: [string]): string;
    encodeFunctionData(functionFragment: "whitelistArray", values: [BigNumberish]): string;
    decodeFunctionResult(functionFragment: "_acceptAdmin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_borrowGuardianPaused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_listExtensions", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_mintGuardianPaused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_registerExtension", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setPendingAdmin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_toggleAdminRights", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_upgrade", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "accountAssets", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "admin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "adminHasRights", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "allBorrowers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "allMarkets", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "borrowCapForCollateral", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "borrowCapGuardian", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "borrowCaps", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "borrowGuardianPaused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "borrowingAgainstCollateralBlacklist", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "cTokensByUnderlying", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "closeFactorMantissa", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "comptrollerImplementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "enforceWhitelist", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "ionicAdmin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "ionicAdminHasRights", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "liquidationIncentiveMantissa", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "markets", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "mintGuardianPaused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "nonAccruingRewardsDistributors", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "oracle", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pauseGuardian", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pendingAdmin", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "rewardsDistributors", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "seizeGuardianPaused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "suppliers", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "supplyCaps", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferGuardianPaused", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "whitelist", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "whitelistArray", data: BytesLike): Result;
    events: {
        "AdminRightsToggled(bool)": EventFragment;
        "Failure(uint256,uint256,uint256)": EventFragment;
        "NewAdmin(address,address)": EventFragment;
        "NewPendingAdmin(address,address)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "AdminRightsToggled"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "Failure"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NewAdmin"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NewPendingAdmin"): EventFragment;
}
export interface AdminRightsToggledEventObject {
    hasRights: boolean;
}
export type AdminRightsToggledEvent = TypedEvent<[
    boolean
], AdminRightsToggledEventObject>;
export type AdminRightsToggledEventFilter = TypedEventFilter<AdminRightsToggledEvent>;
export interface FailureEventObject {
    error: BigNumber;
    info: BigNumber;
    detail: BigNumber;
}
export type FailureEvent = TypedEvent<[
    BigNumber,
    BigNumber,
    BigNumber
], FailureEventObject>;
export type FailureEventFilter = TypedEventFilter<FailureEvent>;
export interface NewAdminEventObject {
    oldAdmin: string;
    newAdmin: string;
}
export type NewAdminEvent = TypedEvent<[string, string], NewAdminEventObject>;
export type NewAdminEventFilter = TypedEventFilter<NewAdminEvent>;
export interface NewPendingAdminEventObject {
    oldPendingAdmin: string;
    newPendingAdmin: string;
}
export type NewPendingAdminEvent = TypedEvent<[
    string,
    string
], NewPendingAdminEventObject>;
export type NewPendingAdminEventFilter = TypedEventFilter<NewPendingAdminEvent>;
export interface Unitroller extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: UnitrollerInterface;
    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: {
        _acceptAdmin(overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _borrowGuardianPaused(overrides?: CallOverrides): Promise<[boolean]>;
        _listExtensions(overrides?: CallOverrides): Promise<[string[]]>;
        _mintGuardianPaused(overrides?: CallOverrides): Promise<[boolean]>;
        _registerExtension(extensionToAdd: string, extensionToReplace: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setPendingAdmin(newPendingAdmin: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _toggleAdminRights(hasRights: boolean, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _upgrade(overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        accountAssets(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        admin(overrides?: CallOverrides): Promise<[string]>;
        adminHasRights(overrides?: CallOverrides): Promise<[boolean]>;
        allBorrowers(arg0: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        allMarkets(arg0: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        borrowCapForCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        borrowCapGuardian(overrides?: CallOverrides): Promise<[string]>;
        borrowCaps(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        borrowGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<[boolean]>;
        borrowingAgainstCollateralBlacklist(arg0: string, arg1: string, overrides?: CallOverrides): Promise<[boolean]>;
        cTokensByUnderlying(arg0: string, overrides?: CallOverrides): Promise<[string]>;
        closeFactorMantissa(overrides?: CallOverrides): Promise<[BigNumber]>;
        comptrollerImplementation(overrides?: CallOverrides): Promise<[string]>;
        enforceWhitelist(overrides?: CallOverrides): Promise<[boolean]>;
        ionicAdmin(overrides?: CallOverrides): Promise<[string]>;
        ionicAdminHasRights(overrides?: CallOverrides): Promise<[boolean]>;
        liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<[BigNumber]>;
        markets(arg0: string, overrides?: CallOverrides): Promise<[
            boolean,
            BigNumber
        ] & {
            isListed: boolean;
            collateralFactorMantissa: BigNumber;
        }>;
        mintGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<[boolean]>;
        nonAccruingRewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        oracle(overrides?: CallOverrides): Promise<[string]>;
        pauseGuardian(overrides?: CallOverrides): Promise<[string]>;
        pendingAdmin(overrides?: CallOverrides): Promise<[string]>;
        rewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        seizeGuardianPaused(overrides?: CallOverrides): Promise<[boolean]>;
        suppliers(arg0: string, overrides?: CallOverrides): Promise<[boolean]>;
        supplyCaps(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        transferGuardianPaused(overrides?: CallOverrides): Promise<[boolean]>;
        whitelist(arg0: string, overrides?: CallOverrides): Promise<[boolean]>;
        whitelistArray(arg0: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
    };
    _acceptAdmin(overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _borrowGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
    _listExtensions(overrides?: CallOverrides): Promise<string[]>;
    _mintGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
    _registerExtension(extensionToAdd: string, extensionToReplace: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setPendingAdmin(newPendingAdmin: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _toggleAdminRights(hasRights: boolean, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _upgrade(overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    accountAssets(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<string>;
    admin(overrides?: CallOverrides): Promise<string>;
    adminHasRights(overrides?: CallOverrides): Promise<boolean>;
    allBorrowers(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
    allMarkets(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
    borrowCapForCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise<BigNumber>;
    borrowCapGuardian(overrides?: CallOverrides): Promise<string>;
    borrowCaps(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
    borrowGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<boolean>;
    borrowingAgainstCollateralBlacklist(arg0: string, arg1: string, overrides?: CallOverrides): Promise<boolean>;
    cTokensByUnderlying(arg0: string, overrides?: CallOverrides): Promise<string>;
    closeFactorMantissa(overrides?: CallOverrides): Promise<BigNumber>;
    comptrollerImplementation(overrides?: CallOverrides): Promise<string>;
    enforceWhitelist(overrides?: CallOverrides): Promise<boolean>;
    ionicAdmin(overrides?: CallOverrides): Promise<string>;
    ionicAdminHasRights(overrides?: CallOverrides): Promise<boolean>;
    liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<BigNumber>;
    markets(arg0: string, overrides?: CallOverrides): Promise<[
        boolean,
        BigNumber
    ] & {
        isListed: boolean;
        collateralFactorMantissa: BigNumber;
    }>;
    mintGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<boolean>;
    nonAccruingRewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
    oracle(overrides?: CallOverrides): Promise<string>;
    pauseGuardian(overrides?: CallOverrides): Promise<string>;
    pendingAdmin(overrides?: CallOverrides): Promise<string>;
    rewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
    seizeGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
    suppliers(arg0: string, overrides?: CallOverrides): Promise<boolean>;
    supplyCaps(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
    transferGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
    whitelist(arg0: string, overrides?: CallOverrides): Promise<boolean>;
    whitelistArray(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
    callStatic: {
        _acceptAdmin(overrides?: CallOverrides): Promise<BigNumber>;
        _borrowGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
        _listExtensions(overrides?: CallOverrides): Promise<string[]>;
        _mintGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
        _registerExtension(extensionToAdd: string, extensionToReplace: string, overrides?: CallOverrides): Promise<void>;
        _setPendingAdmin(newPendingAdmin: string, overrides?: CallOverrides): Promise<BigNumber>;
        _toggleAdminRights(hasRights: boolean, overrides?: CallOverrides): Promise<BigNumber>;
        _upgrade(overrides?: CallOverrides): Promise<void>;
        accountAssets(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<string>;
        admin(overrides?: CallOverrides): Promise<string>;
        adminHasRights(overrides?: CallOverrides): Promise<boolean>;
        allBorrowers(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
        allMarkets(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
        borrowCapForCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise<BigNumber>;
        borrowCapGuardian(overrides?: CallOverrides): Promise<string>;
        borrowCaps(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        borrowGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<boolean>;
        borrowingAgainstCollateralBlacklist(arg0: string, arg1: string, overrides?: CallOverrides): Promise<boolean>;
        cTokensByUnderlying(arg0: string, overrides?: CallOverrides): Promise<string>;
        closeFactorMantissa(overrides?: CallOverrides): Promise<BigNumber>;
        comptrollerImplementation(overrides?: CallOverrides): Promise<string>;
        enforceWhitelist(overrides?: CallOverrides): Promise<boolean>;
        ionicAdmin(overrides?: CallOverrides): Promise<string>;
        ionicAdminHasRights(overrides?: CallOverrides): Promise<boolean>;
        liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<BigNumber>;
        markets(arg0: string, overrides?: CallOverrides): Promise<[
            boolean,
            BigNumber
        ] & {
            isListed: boolean;
            collateralFactorMantissa: BigNumber;
        }>;
        mintGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<boolean>;
        nonAccruingRewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
        oracle(overrides?: CallOverrides): Promise<string>;
        pauseGuardian(overrides?: CallOverrides): Promise<string>;
        pendingAdmin(overrides?: CallOverrides): Promise<string>;
        rewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
        seizeGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
        suppliers(arg0: string, overrides?: CallOverrides): Promise<boolean>;
        supplyCaps(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        transferGuardianPaused(overrides?: CallOverrides): Promise<boolean>;
        whitelist(arg0: string, overrides?: CallOverrides): Promise<boolean>;
        whitelistArray(arg0: BigNumberish, overrides?: CallOverrides): Promise<string>;
    };
    filters: {
        "AdminRightsToggled(bool)"(hasRights?: null): AdminRightsToggledEventFilter;
        AdminRightsToggled(hasRights?: null): AdminRightsToggledEventFilter;
        "Failure(uint256,uint256,uint256)"(error?: null, info?: null, detail?: null): FailureEventFilter;
        Failure(error?: null, info?: null, detail?: null): FailureEventFilter;
        "NewAdmin(address,address)"(oldAdmin?: null, newAdmin?: null): NewAdminEventFilter;
        NewAdmin(oldAdmin?: null, newAdmin?: null): NewAdminEventFilter;
        "NewPendingAdmin(address,address)"(oldPendingAdmin?: null, newPendingAdmin?: null): NewPendingAdminEventFilter;
        NewPendingAdmin(oldPendingAdmin?: null, newPendingAdmin?: null): NewPendingAdminEventFilter;
    };
    estimateGas: {
        _acceptAdmin(overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _borrowGuardianPaused(overrides?: CallOverrides): Promise<BigNumber>;
        _listExtensions(overrides?: CallOverrides): Promise<BigNumber>;
        _mintGuardianPaused(overrides?: CallOverrides): Promise<BigNumber>;
        _registerExtension(extensionToAdd: string, extensionToReplace: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setPendingAdmin(newPendingAdmin: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _toggleAdminRights(hasRights: boolean, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _upgrade(overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        accountAssets(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        admin(overrides?: CallOverrides): Promise<BigNumber>;
        adminHasRights(overrides?: CallOverrides): Promise<BigNumber>;
        allBorrowers(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        allMarkets(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        borrowCapForCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise<BigNumber>;
        borrowCapGuardian(overrides?: CallOverrides): Promise<BigNumber>;
        borrowCaps(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        borrowGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        borrowingAgainstCollateralBlacklist(arg0: string, arg1: string, overrides?: CallOverrides): Promise<BigNumber>;
        cTokensByUnderlying(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        closeFactorMantissa(overrides?: CallOverrides): Promise<BigNumber>;
        comptrollerImplementation(overrides?: CallOverrides): Promise<BigNumber>;
        enforceWhitelist(overrides?: CallOverrides): Promise<BigNumber>;
        ionicAdmin(overrides?: CallOverrides): Promise<BigNumber>;
        ionicAdminHasRights(overrides?: CallOverrides): Promise<BigNumber>;
        liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<BigNumber>;
        markets(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        mintGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        nonAccruingRewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        oracle(overrides?: CallOverrides): Promise<BigNumber>;
        pauseGuardian(overrides?: CallOverrides): Promise<BigNumber>;
        pendingAdmin(overrides?: CallOverrides): Promise<BigNumber>;
        rewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        seizeGuardianPaused(overrides?: CallOverrides): Promise<BigNumber>;
        suppliers(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        supplyCaps(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        transferGuardianPaused(overrides?: CallOverrides): Promise<BigNumber>;
        whitelist(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        whitelistArray(arg0: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
    };
    populateTransaction: {
        _acceptAdmin(overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _borrowGuardianPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        _listExtensions(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        _mintGuardianPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        _registerExtension(extensionToAdd: string, extensionToReplace: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setPendingAdmin(newPendingAdmin: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _toggleAdminRights(hasRights: boolean, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _upgrade(overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        accountAssets(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        admin(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        adminHasRights(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        allBorrowers(arg0: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        allMarkets(arg0: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrowCapForCollateral(arg0: string, arg1: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrowCapGuardian(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrowCaps(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrowGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        borrowingAgainstCollateralBlacklist(arg0: string, arg1: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        cTokensByUnderlying(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        closeFactorMantissa(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        comptrollerImplementation(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        enforceWhitelist(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        ionicAdmin(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        ionicAdminHasRights(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        liquidationIncentiveMantissa(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        markets(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        mintGuardianPaused(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        nonAccruingRewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        oracle(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pauseGuardian(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingAdmin(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        rewardsDistributors(arg0: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        seizeGuardianPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        suppliers(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        supplyCaps(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        transferGuardianPaused(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        whitelist(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        whitelistArray(arg0: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
    };
}
