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 FeeDistributorInterface extends utils.Interface {
    functions: {
        "_acceptOwner()": FunctionFragment;
        "_callPool(address[],bytes[])": FunctionFragment;
        "_callPool(address[],bytes)": FunctionFragment;
        "_registerComptrollerExtension(address,address,address)": FunctionFragment;
        "_setCErc20DelegateExtensions(address,address[])": FunctionFragment;
        "_setComptrollerExtensions(address,address[])": FunctionFragment;
        "_setCustomInterestFeeRate(address,int256)": FunctionFragment;
        "_setDefaultInterestFeeRate(uint256)": FunctionFragment;
        "_setLatestCErc20Delegate(uint8,address,bytes)": FunctionFragment;
        "_setLatestComptrollerImplementation(address,address)": FunctionFragment;
        "_setLatestPluginImplementation(address,address)": FunctionFragment;
        "_setPendingOwner(address)": FunctionFragment;
        "_setPoolLimits(uint256,uint256)": FunctionFragment;
        "_upgradePluginToLatestImplementation(address)": FunctionFragment;
        "_withdrawAssets(address)": FunctionFragment;
        "authoritiesRegistry()": FunctionFragment;
        "autoUpgradePool(address)": FunctionFragment;
        "cErc20DelegateExtensions(address,uint256)": FunctionFragment;
        "canCall(address,address,address,bytes4)": FunctionFragment;
        "comptrollerExtensions(address,uint256)": FunctionFragment;
        "customInterestFeeRates(address)": FunctionFragment;
        "defaultInterestFeeRate()": FunctionFragment;
        "deployCErc20(uint8,bytes,bytes)": FunctionFragment;
        "getCErc20DelegateExtensions(address)": FunctionFragment;
        "getComptrollerExtensions(address)": FunctionFragment;
        "getMinBorrowEth(address)": FunctionFragment;
        "initialize(uint256)": FunctionFragment;
        "interestFeeRate()": FunctionFragment;
        "latestCErc20Delegate(uint8)": FunctionFragment;
        "latestComptrollerImplementation(address)": FunctionFragment;
        "latestPluginImplementation(address)": FunctionFragment;
        "marketsCounter()": FunctionFragment;
        "maxUtilizationRate()": FunctionFragment;
        "minBorrowEth()": FunctionFragment;
        "owner()": FunctionFragment;
        "pendingOwner()": FunctionFragment;
        "reinitialize(address)": FunctionFragment;
        "renounceOwnership()": FunctionFragment;
        "transferOwnership(address)": FunctionFragment;
    };
    getFunction(nameOrSignatureOrTopic: "_acceptOwner" | "_callPool(address[],bytes[])" | "_callPool(address[],bytes)" | "_registerComptrollerExtension" | "_setCErc20DelegateExtensions" | "_setComptrollerExtensions" | "_setCustomInterestFeeRate" | "_setDefaultInterestFeeRate" | "_setLatestCErc20Delegate" | "_setLatestComptrollerImplementation" | "_setLatestPluginImplementation" | "_setPendingOwner" | "_setPoolLimits" | "_upgradePluginToLatestImplementation" | "_withdrawAssets" | "authoritiesRegistry" | "autoUpgradePool" | "cErc20DelegateExtensions" | "canCall" | "comptrollerExtensions" | "customInterestFeeRates" | "defaultInterestFeeRate" | "deployCErc20" | "getCErc20DelegateExtensions" | "getComptrollerExtensions" | "getMinBorrowEth" | "initialize" | "interestFeeRate" | "latestCErc20Delegate" | "latestComptrollerImplementation" | "latestPluginImplementation" | "marketsCounter" | "maxUtilizationRate" | "minBorrowEth" | "owner" | "pendingOwner" | "reinitialize" | "renounceOwnership" | "transferOwnership"): FunctionFragment;
    encodeFunctionData(functionFragment: "_acceptOwner", values?: undefined): string;
    encodeFunctionData(functionFragment: "_callPool(address[],bytes[])", values: [string[], BytesLike[]]): string;
    encodeFunctionData(functionFragment: "_callPool(address[],bytes)", values: [string[], BytesLike]): string;
    encodeFunctionData(functionFragment: "_registerComptrollerExtension", values: [string, string, string]): string;
    encodeFunctionData(functionFragment: "_setCErc20DelegateExtensions", values: [string, string[]]): string;
    encodeFunctionData(functionFragment: "_setComptrollerExtensions", values: [string, string[]]): string;
    encodeFunctionData(functionFragment: "_setCustomInterestFeeRate", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "_setDefaultInterestFeeRate", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "_setLatestCErc20Delegate", values: [BigNumberish, string, BytesLike]): string;
    encodeFunctionData(functionFragment: "_setLatestComptrollerImplementation", values: [string, string]): string;
    encodeFunctionData(functionFragment: "_setLatestPluginImplementation", values: [string, string]): string;
    encodeFunctionData(functionFragment: "_setPendingOwner", values: [string]): string;
    encodeFunctionData(functionFragment: "_setPoolLimits", values: [BigNumberish, BigNumberish]): string;
    encodeFunctionData(functionFragment: "_upgradePluginToLatestImplementation", values: [string]): string;
    encodeFunctionData(functionFragment: "_withdrawAssets", values: [string]): string;
    encodeFunctionData(functionFragment: "authoritiesRegistry", values?: undefined): string;
    encodeFunctionData(functionFragment: "autoUpgradePool", values: [string]): string;
    encodeFunctionData(functionFragment: "cErc20DelegateExtensions", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "canCall", values: [string, string, string, BytesLike]): string;
    encodeFunctionData(functionFragment: "comptrollerExtensions", values: [string, BigNumberish]): string;
    encodeFunctionData(functionFragment: "customInterestFeeRates", values: [string]): string;
    encodeFunctionData(functionFragment: "defaultInterestFeeRate", values?: undefined): string;
    encodeFunctionData(functionFragment: "deployCErc20", values: [BigNumberish, BytesLike, BytesLike]): string;
    encodeFunctionData(functionFragment: "getCErc20DelegateExtensions", values: [string]): string;
    encodeFunctionData(functionFragment: "getComptrollerExtensions", values: [string]): string;
    encodeFunctionData(functionFragment: "getMinBorrowEth", values: [string]): string;
    encodeFunctionData(functionFragment: "initialize", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "interestFeeRate", values?: undefined): string;
    encodeFunctionData(functionFragment: "latestCErc20Delegate", values: [BigNumberish]): string;
    encodeFunctionData(functionFragment: "latestComptrollerImplementation", values: [string]): string;
    encodeFunctionData(functionFragment: "latestPluginImplementation", values: [string]): string;
    encodeFunctionData(functionFragment: "marketsCounter", values?: undefined): string;
    encodeFunctionData(functionFragment: "maxUtilizationRate", values?: undefined): string;
    encodeFunctionData(functionFragment: "minBorrowEth", values?: undefined): string;
    encodeFunctionData(functionFragment: "owner", values?: undefined): string;
    encodeFunctionData(functionFragment: "pendingOwner", values?: undefined): string;
    encodeFunctionData(functionFragment: "reinitialize", values: [string]): string;
    encodeFunctionData(functionFragment: "renounceOwnership", values?: undefined): string;
    encodeFunctionData(functionFragment: "transferOwnership", values: [string]): string;
    decodeFunctionResult(functionFragment: "_acceptOwner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_callPool(address[],bytes[])", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_callPool(address[],bytes)", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_registerComptrollerExtension", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setCErc20DelegateExtensions", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setComptrollerExtensions", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setCustomInterestFeeRate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setDefaultInterestFeeRate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setLatestCErc20Delegate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setLatestComptrollerImplementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setLatestPluginImplementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setPendingOwner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_setPoolLimits", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_upgradePluginToLatestImplementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "_withdrawAssets", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "authoritiesRegistry", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "autoUpgradePool", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "cErc20DelegateExtensions", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "canCall", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "comptrollerExtensions", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "customInterestFeeRates", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "defaultInterestFeeRate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "deployCErc20", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getCErc20DelegateExtensions", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getComptrollerExtensions", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "getMinBorrowEth", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "interestFeeRate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "latestCErc20Delegate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "latestComptrollerImplementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "latestPluginImplementation", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "marketsCounter", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "maxUtilizationRate", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "minBorrowEth", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "owner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "pendingOwner", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "reinitialize", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "renounceOwnership", data: BytesLike): Result;
    decodeFunctionResult(functionFragment: "transferOwnership", data: BytesLike): Result;
    events: {
        "Initialized(uint8)": EventFragment;
        "NewOwner(address,address)": EventFragment;
        "NewPendingOwner(address,address)": EventFragment;
        "OwnershipTransferred(address,address)": EventFragment;
    };
    getEvent(nameOrSignatureOrTopic: "Initialized"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NewOwner"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "NewPendingOwner"): EventFragment;
    getEvent(nameOrSignatureOrTopic: "OwnershipTransferred"): EventFragment;
}
export interface InitializedEventObject {
    version: number;
}
export type InitializedEvent = TypedEvent<[number], InitializedEventObject>;
export type InitializedEventFilter = TypedEventFilter<InitializedEvent>;
export interface NewOwnerEventObject {
    oldOwner: string;
    newOwner: string;
}
export type NewOwnerEvent = TypedEvent<[string, string], NewOwnerEventObject>;
export type NewOwnerEventFilter = TypedEventFilter<NewOwnerEvent>;
export interface NewPendingOwnerEventObject {
    oldPendingOwner: string;
    newPendingOwner: string;
}
export type NewPendingOwnerEvent = TypedEvent<[
    string,
    string
], NewPendingOwnerEventObject>;
export type NewPendingOwnerEventFilter = TypedEventFilter<NewPendingOwnerEvent>;
export interface OwnershipTransferredEventObject {
    previousOwner: string;
    newOwner: string;
}
export type OwnershipTransferredEvent = TypedEvent<[
    string,
    string
], OwnershipTransferredEventObject>;
export type OwnershipTransferredEventFilter = TypedEventFilter<OwnershipTransferredEvent>;
export interface FeeDistributor extends BaseContract {
    connect(signerOrProvider: Signer | Provider | string): this;
    attach(addressOrName: string): this;
    deployed(): Promise<this>;
    interface: FeeDistributorInterface;
    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: {
        _acceptOwner(overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        "_callPool(address[],bytes[])"(targets: string[], data: BytesLike[], overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        "_callPool(address[],bytes)"(targets: string[], data: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _registerComptrollerExtension(pool: string, extensionToAdd: string, extensionToReplace: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setCErc20DelegateExtensions(cErc20Delegate: string, extensions: string[], overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setComptrollerExtensions(comptroller: string, extensions: string[], overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setCustomInterestFeeRate(comptroller: string, rate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setDefaultInterestFeeRate(_defaultInterestFeeRate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setLatestCErc20Delegate(delegateType: BigNumberish, newImplementation: string, becomeImplementationData: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setLatestComptrollerImplementation(oldImplementation: string, newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setLatestPluginImplementation(oldImplementation: string, newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setPendingOwner(newPendingOwner: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _setPoolLimits(_minBorrowEth: BigNumberish, _maxUtilizationRate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _upgradePluginToLatestImplementation(cDelegator: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        _withdrawAssets(erc20Contract: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        authoritiesRegistry(overrides?: CallOverrides): Promise<[string]>;
        autoUpgradePool(pool: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        cErc20DelegateExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        canCall(pool: string, user: string, target: string, functionSig: BytesLike, overrides?: CallOverrides): Promise<[boolean]>;
        comptrollerExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<[string]>;
        customInterestFeeRates(arg0: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        defaultInterestFeeRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        deployCErc20(delegateType: BigNumberish, constructorData: BytesLike, becomeImplData: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        getCErc20DelegateExtensions(cErc20Delegate: string, overrides?: CallOverrides): Promise<[string[]]>;
        getComptrollerExtensions(comptroller: string, overrides?: CallOverrides): Promise<[string[]]>;
        getMinBorrowEth(_ctoken: string, overrides?: CallOverrides): Promise<[BigNumber]>;
        initialize(_defaultInterestFeeRate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        interestFeeRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        latestCErc20Delegate(delegateType: BigNumberish, overrides?: CallOverrides): Promise<[string, string]>;
        latestComptrollerImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<[string]>;
        latestPluginImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<[string]>;
        marketsCounter(overrides?: CallOverrides): Promise<[BigNumber]>;
        maxUtilizationRate(overrides?: CallOverrides): Promise<[BigNumber]>;
        minBorrowEth(overrides?: CallOverrides): Promise<[BigNumber]>;
        owner(overrides?: CallOverrides): Promise<[string]>;
        pendingOwner(overrides?: CallOverrides): Promise<[string]>;
        reinitialize(_ar: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
        transferOwnership(newOwner: string, overrides?: Overrides & {
            from?: string;
        }): Promise<ContractTransaction>;
    };
    _acceptOwner(overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    "_callPool(address[],bytes[])"(targets: string[], data: BytesLike[], overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    "_callPool(address[],bytes)"(targets: string[], data: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _registerComptrollerExtension(pool: string, extensionToAdd: string, extensionToReplace: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setCErc20DelegateExtensions(cErc20Delegate: string, extensions: string[], overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setComptrollerExtensions(comptroller: string, extensions: string[], overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setCustomInterestFeeRate(comptroller: string, rate: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setDefaultInterestFeeRate(_defaultInterestFeeRate: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setLatestCErc20Delegate(delegateType: BigNumberish, newImplementation: string, becomeImplementationData: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setLatestComptrollerImplementation(oldImplementation: string, newImplementation: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setLatestPluginImplementation(oldImplementation: string, newImplementation: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setPendingOwner(newPendingOwner: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _setPoolLimits(_minBorrowEth: BigNumberish, _maxUtilizationRate: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _upgradePluginToLatestImplementation(cDelegator: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    _withdrawAssets(erc20Contract: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    authoritiesRegistry(overrides?: CallOverrides): Promise<string>;
    autoUpgradePool(pool: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    cErc20DelegateExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<string>;
    canCall(pool: string, user: string, target: string, functionSig: BytesLike, overrides?: CallOverrides): Promise<boolean>;
    comptrollerExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<string>;
    customInterestFeeRates(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
    defaultInterestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
    deployCErc20(delegateType: BigNumberish, constructorData: BytesLike, becomeImplData: BytesLike, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    getCErc20DelegateExtensions(cErc20Delegate: string, overrides?: CallOverrides): Promise<string[]>;
    getComptrollerExtensions(comptroller: string, overrides?: CallOverrides): Promise<string[]>;
    getMinBorrowEth(_ctoken: string, overrides?: CallOverrides): Promise<BigNumber>;
    initialize(_defaultInterestFeeRate: BigNumberish, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
    latestCErc20Delegate(delegateType: BigNumberish, overrides?: CallOverrides): Promise<[string, string]>;
    latestComptrollerImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<string>;
    latestPluginImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<string>;
    marketsCounter(overrides?: CallOverrides): Promise<BigNumber>;
    maxUtilizationRate(overrides?: CallOverrides): Promise<BigNumber>;
    minBorrowEth(overrides?: CallOverrides): Promise<BigNumber>;
    owner(overrides?: CallOverrides): Promise<string>;
    pendingOwner(overrides?: CallOverrides): Promise<string>;
    reinitialize(_ar: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    renounceOwnership(overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    transferOwnership(newOwner: string, overrides?: Overrides & {
        from?: string;
    }): Promise<ContractTransaction>;
    callStatic: {
        _acceptOwner(overrides?: CallOverrides): Promise<void>;
        "_callPool(address[],bytes[])"(targets: string[], data: BytesLike[], overrides?: CallOverrides): Promise<void>;
        "_callPool(address[],bytes)"(targets: string[], data: BytesLike, overrides?: CallOverrides): Promise<void>;
        _registerComptrollerExtension(pool: string, extensionToAdd: string, extensionToReplace: string, overrides?: CallOverrides): Promise<void>;
        _setCErc20DelegateExtensions(cErc20Delegate: string, extensions: string[], overrides?: CallOverrides): Promise<void>;
        _setComptrollerExtensions(comptroller: string, extensions: string[], overrides?: CallOverrides): Promise<void>;
        _setCustomInterestFeeRate(comptroller: string, rate: BigNumberish, overrides?: CallOverrides): Promise<void>;
        _setDefaultInterestFeeRate(_defaultInterestFeeRate: BigNumberish, overrides?: CallOverrides): Promise<void>;
        _setLatestCErc20Delegate(delegateType: BigNumberish, newImplementation: string, becomeImplementationData: BytesLike, overrides?: CallOverrides): Promise<void>;
        _setLatestComptrollerImplementation(oldImplementation: string, newImplementation: string, overrides?: CallOverrides): Promise<void>;
        _setLatestPluginImplementation(oldImplementation: string, newImplementation: string, overrides?: CallOverrides): Promise<void>;
        _setPendingOwner(newPendingOwner: string, overrides?: CallOverrides): Promise<void>;
        _setPoolLimits(_minBorrowEth: BigNumberish, _maxUtilizationRate: BigNumberish, overrides?: CallOverrides): Promise<void>;
        _upgradePluginToLatestImplementation(cDelegator: string, overrides?: CallOverrides): Promise<boolean>;
        _withdrawAssets(erc20Contract: string, overrides?: CallOverrides): Promise<void>;
        authoritiesRegistry(overrides?: CallOverrides): Promise<string>;
        autoUpgradePool(pool: string, overrides?: CallOverrides): Promise<void>;
        cErc20DelegateExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<string>;
        canCall(pool: string, user: string, target: string, functionSig: BytesLike, overrides?: CallOverrides): Promise<boolean>;
        comptrollerExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<string>;
        customInterestFeeRates(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        defaultInterestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
        deployCErc20(delegateType: BigNumberish, constructorData: BytesLike, becomeImplData: BytesLike, overrides?: CallOverrides): Promise<string>;
        getCErc20DelegateExtensions(cErc20Delegate: string, overrides?: CallOverrides): Promise<string[]>;
        getComptrollerExtensions(comptroller: string, overrides?: CallOverrides): Promise<string[]>;
        getMinBorrowEth(_ctoken: string, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(_defaultInterestFeeRate: BigNumberish, overrides?: CallOverrides): Promise<void>;
        interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
        latestCErc20Delegate(delegateType: BigNumberish, overrides?: CallOverrides): Promise<[string, string]>;
        latestComptrollerImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<string>;
        latestPluginImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<string>;
        marketsCounter(overrides?: CallOverrides): Promise<BigNumber>;
        maxUtilizationRate(overrides?: CallOverrides): Promise<BigNumber>;
        minBorrowEth(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<string>;
        pendingOwner(overrides?: CallOverrides): Promise<string>;
        reinitialize(_ar: string, overrides?: CallOverrides): Promise<void>;
        renounceOwnership(overrides?: CallOverrides): Promise<void>;
        transferOwnership(newOwner: string, overrides?: CallOverrides): Promise<void>;
    };
    filters: {
        "Initialized(uint8)"(version?: null): InitializedEventFilter;
        Initialized(version?: null): InitializedEventFilter;
        "NewOwner(address,address)"(oldOwner?: null, newOwner?: null): NewOwnerEventFilter;
        NewOwner(oldOwner?: null, newOwner?: null): NewOwnerEventFilter;
        "NewPendingOwner(address,address)"(oldPendingOwner?: null, newPendingOwner?: null): NewPendingOwnerEventFilter;
        NewPendingOwner(oldPendingOwner?: null, newPendingOwner?: null): NewPendingOwnerEventFilter;
        "OwnershipTransferred(address,address)"(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
        OwnershipTransferred(previousOwner?: string | null, newOwner?: string | null): OwnershipTransferredEventFilter;
    };
    estimateGas: {
        _acceptOwner(overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        "_callPool(address[],bytes[])"(targets: string[], data: BytesLike[], overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        "_callPool(address[],bytes)"(targets: string[], data: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _registerComptrollerExtension(pool: string, extensionToAdd: string, extensionToReplace: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setCErc20DelegateExtensions(cErc20Delegate: string, extensions: string[], overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setComptrollerExtensions(comptroller: string, extensions: string[], overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setCustomInterestFeeRate(comptroller: string, rate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setDefaultInterestFeeRate(_defaultInterestFeeRate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setLatestCErc20Delegate(delegateType: BigNumberish, newImplementation: string, becomeImplementationData: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setLatestComptrollerImplementation(oldImplementation: string, newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setLatestPluginImplementation(oldImplementation: string, newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setPendingOwner(newPendingOwner: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _setPoolLimits(_minBorrowEth: BigNumberish, _maxUtilizationRate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _upgradePluginToLatestImplementation(cDelegator: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        _withdrawAssets(erc20Contract: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        authoritiesRegistry(overrides?: CallOverrides): Promise<BigNumber>;
        autoUpgradePool(pool: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        cErc20DelegateExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        canCall(pool: string, user: string, target: string, functionSig: BytesLike, overrides?: CallOverrides): Promise<BigNumber>;
        comptrollerExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        customInterestFeeRates(arg0: string, overrides?: CallOverrides): Promise<BigNumber>;
        defaultInterestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
        deployCErc20(delegateType: BigNumberish, constructorData: BytesLike, becomeImplData: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        getCErc20DelegateExtensions(cErc20Delegate: string, overrides?: CallOverrides): Promise<BigNumber>;
        getComptrollerExtensions(comptroller: string, overrides?: CallOverrides): Promise<BigNumber>;
        getMinBorrowEth(_ctoken: string, overrides?: CallOverrides): Promise<BigNumber>;
        initialize(_defaultInterestFeeRate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        interestFeeRate(overrides?: CallOverrides): Promise<BigNumber>;
        latestCErc20Delegate(delegateType: BigNumberish, overrides?: CallOverrides): Promise<BigNumber>;
        latestComptrollerImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<BigNumber>;
        latestPluginImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<BigNumber>;
        marketsCounter(overrides?: CallOverrides): Promise<BigNumber>;
        maxUtilizationRate(overrides?: CallOverrides): Promise<BigNumber>;
        minBorrowEth(overrides?: CallOverrides): Promise<BigNumber>;
        owner(overrides?: CallOverrides): Promise<BigNumber>;
        pendingOwner(overrides?: CallOverrides): Promise<BigNumber>;
        reinitialize(_ar: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        renounceOwnership(overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
        transferOwnership(newOwner: string, overrides?: Overrides & {
            from?: string;
        }): Promise<BigNumber>;
    };
    populateTransaction: {
        _acceptOwner(overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        "_callPool(address[],bytes[])"(targets: string[], data: BytesLike[], overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        "_callPool(address[],bytes)"(targets: string[], data: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _registerComptrollerExtension(pool: string, extensionToAdd: string, extensionToReplace: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setCErc20DelegateExtensions(cErc20Delegate: string, extensions: string[], overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setComptrollerExtensions(comptroller: string, extensions: string[], overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setCustomInterestFeeRate(comptroller: string, rate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setDefaultInterestFeeRate(_defaultInterestFeeRate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setLatestCErc20Delegate(delegateType: BigNumberish, newImplementation: string, becomeImplementationData: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setLatestComptrollerImplementation(oldImplementation: string, newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setLatestPluginImplementation(oldImplementation: string, newImplementation: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setPendingOwner(newPendingOwner: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _setPoolLimits(_minBorrowEth: BigNumberish, _maxUtilizationRate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _upgradePluginToLatestImplementation(cDelegator: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        _withdrawAssets(erc20Contract: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        authoritiesRegistry(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        autoUpgradePool(pool: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        cErc20DelegateExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        canCall(pool: string, user: string, target: string, functionSig: BytesLike, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        comptrollerExtensions(arg0: string, arg1: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        customInterestFeeRates(arg0: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        defaultInterestFeeRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        deployCErc20(delegateType: BigNumberish, constructorData: BytesLike, becomeImplData: BytesLike, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        getCErc20DelegateExtensions(cErc20Delegate: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getComptrollerExtensions(comptroller: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        getMinBorrowEth(_ctoken: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        initialize(_defaultInterestFeeRate: BigNumberish, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        interestFeeRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        latestCErc20Delegate(delegateType: BigNumberish, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        latestComptrollerImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        latestPluginImplementation(oldImplementation: string, overrides?: CallOverrides): Promise<PopulatedTransaction>;
        marketsCounter(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        maxUtilizationRate(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        minBorrowEth(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        owner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        pendingOwner(overrides?: CallOverrides): Promise<PopulatedTransaction>;
        reinitialize(_ar: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        renounceOwnership(overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
        transferOwnership(newOwner: string, overrides?: Overrides & {
            from?: string;
        }): Promise<PopulatedTransaction>;
    };
}
