import type { PromiseOrValue } from "../../../../common";
import type { EchoTypesComptroller, EchoTypesComptrollerInterface } from "../../../../contracts/test/ComptrollerHarness.sol/EchoTypesComptroller";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import { Signer, ContractFactory, Overrides } from "ethers";
type EchoTypesComptrollerConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class EchoTypesComptroller__factory extends ContractFactory {
    constructor(...args: EchoTypesComptrollerConstructorParams);
    deploy(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): Promise<EchoTypesComptroller>;
    getDeployTransaction(overrides?: Overrides & {
        from?: PromiseOrValue<string>;
    }): TransactionRequest;
    attach(address: string): EchoTypesComptroller;
    connect(signer: Signer): EchoTypesComptroller__factory;
    static readonly bytecode = "0x608060405234801561001057600080fd5b50610490806100206000396000f3fe608060405234801561001057600080fd5b506004361061009e5760003560e01c8063ba3cca6911610066578063ba3cca6914610305578063bb82aa5e1461032b578063bd96b51614610333578063dcfbc0c714610366578063f851a4401461036e5761009e565b806326782247146100a35780634bdd1eaf146100c757806374b0b7df146101ba57806382d38954146102d55780638d2c913c146102fb575b600080fd5b6100ab610376565b604080516001600160a01b039092168252519081900360200190f35b61016a600480360360208110156100dd57600080fd5b8101906020810181356401000000008111156100f857600080fd5b82018360208201111561010a57600080fd5b8035906020019184602083028401116401000000008311171561012c57600080fd5b919080806020026020016040519081016040528093929190818152602001838360200280828437600092019190915250929550610385945050505050565b60408051602080825283518183015283519192839290830191858101910280838360005b838110156101a657818101518382015260200161018e565b505050509050019250505060405180910390f35b610260600480360360208110156101d057600080fd5b8101906020810181356401000000008111156101eb57600080fd5b8201836020820111156101fd57600080fd5b8035906020019184600183028401116401000000008311171561021f57600080fd5b91908080601f016020809104026020016040519081016040528093929190818152602001838380828437600092019190915250929550610385945050505050565b6040805160208082528351818301528351919283929083019185019080838360005b8381101561029a578181015183820152602001610282565b50505050905090810190601f1680156102c75780820380516001836020036101000a031916815260200191505b509250505060405180910390f35b6100ab600480360360208110156102eb57600080fd5b50356001600160a01b0316610385565b610303610388565b005b6103036004803603602081101561031b57600080fd5b50356001600160a01b03166103c4565b6100ab61042e565b6103526004803603602081101561034957600080fd5b50351515610385565b604080519115158252519081900360200190f35b6100ab61043d565b6100ab61044c565b6001546001600160a01b031681565b90565b6040805162461bcd60e51b815260206004820152600c60248201526b676f74636861207375636b6160a01b604482015290519081900360640190fd5b806001600160a01b031663c1e803346040518163ffffffff1660e01b8152600401602060405180830381600087803b1580156103ff57600080fd5b505af1158015610413573d6000803e3d6000fd5b505050506040513d602081101561042957600080fd5b505050565b6002546001600160a01b031681565b6003546001600160a01b031681565b6000546001600160a01b03168156fea265627a7a72315820bed17dc0202c92f24ce36323f8e5aac4cb82b663c850c01cb3b679596d00add564736f6c63430005100032";
    static readonly abi: readonly [{
        readonly constant: true;
        readonly inputs: readonly [{
            readonly internalType: "address";
            readonly name: "a";
            readonly type: "address";
        }];
        readonly name: "addresses";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "admin";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: false;
        readonly inputs: readonly [{
            readonly internalType: "address payable";
            readonly name: "unitroller";
            readonly type: "address";
        }];
        readonly name: "becomeBrains";
        readonly outputs: readonly [];
        readonly payable: false;
        readonly stateMutability: "nonpayable";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [{
            readonly internalType: "bool";
            readonly name: "b";
            readonly type: "bool";
        }];
        readonly name: "booly";
        readonly outputs: readonly [{
            readonly internalType: "bool";
            readonly name: "";
            readonly type: "bool";
        }];
        readonly payable: false;
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "comptrollerImplementation";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "u";
            readonly type: "uint256[]";
        }];
        readonly name: "listOInts";
        readonly outputs: readonly [{
            readonly internalType: "uint256[]";
            readonly name: "";
            readonly type: "uint256[]";
        }];
        readonly payable: false;
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "pendingAdmin";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "pendingComptrollerImplementation";
        readonly outputs: readonly [{
            readonly internalType: "address";
            readonly name: "";
            readonly type: "address";
        }];
        readonly payable: false;
        readonly stateMutability: "view";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [];
        readonly name: "reverty";
        readonly outputs: readonly [];
        readonly payable: false;
        readonly stateMutability: "pure";
        readonly type: "function";
    }, {
        readonly constant: true;
        readonly inputs: readonly [{
            readonly internalType: "string";
            readonly name: "s";
            readonly type: "string";
        }];
        readonly name: "stringy";
        readonly outputs: readonly [{
            readonly internalType: "string";
            readonly name: "";
            readonly type: "string";
        }];
        readonly payable: false;
        readonly stateMutability: "pure";
        readonly type: "function";
    }];
    static createInterface(): EchoTypesComptrollerInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): EchoTypesComptroller;
}
export {};
