import { Signer, ContractFactory, Overrides } from "ethers";
import type { Provider, TransactionRequest } from "@ethersproject/providers";
import type { MockHubPool, MockHubPoolInterface } from "../MockHubPool";
type MockHubPoolConstructorParams = [signer?: Signer] | ConstructorParameters<typeof ContractFactory>;
export declare class MockHubPool__factory extends ContractFactory {
    constructor(...args: MockHubPoolConstructorParams);
    deploy(_adapter: string, overrides?: Overrides & {
        from?: string;
    }): Promise<MockHubPool>;
    getDeployTransaction(_adapter: string, overrides?: Overrides & {
        from?: string;
    }): TransactionRequest;
    attach(address: string): MockHubPool;
    connect(signer: Signer): MockHubPool__factory;
    static readonly bytecode = "0x60a034608357601f61069738819003918201601f19168301916001600160401b03831184841017608757808492602094604052833981010312608357516001600160a01b038116908190036083575f80546001600160a01b031916919091179055336080526040516105fb908161009c823960805181818161013b01526101dc0152f35b5f80fd5b634e487b7160e01b5f52604160045260245ffdfe608080604052600436101561001057005b5f3560e01c90816303eadcfc146104cf575080634144fd611461046c57806352c8c75c146103e35780637770a8a71461033e5780638638c319146102005780638da5cb5b146101bd578063ae0bcf2b146101185763f7888aec1461007057005b34610114576040366003190112610114575f8061008b6104f1565b610093610507565b906100f26101006001600160a01b03855416936001600160a01b03604051916370a0823160e01b6020840152166024820152602481526100d460448261051d565b6040519283916020830195637375c56f60e11b87526024840161058a565b03601f19810183528261051d565b51915af461010c61055b565b501561011457005b5f80fd5b34610114576020366003190112610114576101316104f1565b6001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000163303610114576001600160a01b03168015610114576001600160a01b035f548273ffffffffffffffffffffffffffffffffffffffff198216175f55167fc3f1d9acbad3d58bdbd12ae988485b64e4247fde6ecb72188ee8e0edaf73ca3e5f80a3005b34610114575f3660031901126101145760206040516001600160a01b037f0000000000000000000000000000000000000000000000000000000000000000168152f35b346101145760e03660031901126101145760405160e0810181811067ffffffffffffffff82111761032a576040526004359081815260243580602083015260443580604084015260643590816060850152608435926001600160a01b0384169384810361011457608086015260a4359560ff87168703610114578660a087015260c4359563ffffffff871687036101145760c08791015260015560025560035560045573ffffffffffffffffffffffffffffffffffffffff1960055416176005557fffffffffffffff0000000000ffffffffffffffffffffffffffffffffffffffff74ff000000000000000000000000000000000000000078ffffffff0000000000000000000000000000000000000000006005549360a81b169360a01b16911617176005555f80f35b634e487b7160e01b5f52604160045260245ffd5b34610114576040366003190112610114576103576104f1565b60243567ffffffffffffffff81116101145736602382011215610114578060040135916103838361053f565b90610391604051928361051d565b8382523660248585010111610114575f6020858296602484970183870137840101526100f26101006001600160a01b03855416936040519283916020830195637375c56f60e11b87526024840161058a565b34610114576080366003190112610114576103fc6104f1565b610404610507565b6064356001600160a01b038116809103610114575f9283926001600160a01b03845416926001600160a01b03604051928160208501956314b231d760e21b8752166024850152166044830152604435606483015260848201526084815261010060a48261051d565b34610114575f3660031901126101145760e060015463ffffffff60025460035460045490600554926040519586526020860152604085015260608401526001600160a01b038116608084015260ff8160a01c1660a084015260a81c1660c0820152f35b34610114575f366003190112610114576020906001600160a01b035f54168152f35b600435906001600160a01b038216820361011457565b602435906001600160a01b038216820361011457565b90601f8019910116810190811067ffffffffffffffff82111761032a57604052565b67ffffffffffffffff811161032a57601f01601f191660200190565b3d15610585573d9061056c8261053f565b9161057a604051938461051d565b82523d5f602084013e565b606090565b906060926001600160a01b036020921683526040828401528051918291826040860152018484015e5f828201840152601f01601f191601019056fea2646970667358221220ec8bd72f248b36b857f67d25937ade067d1d57301ee1a520d26fb6e3094f418b64736f6c634300081e0033";
    static readonly abi: readonly [{
        readonly type: "constructor";
        readonly inputs: readonly [{
            readonly name: "_adapter";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "fallback";
        readonly stateMutability: "payable";
    }, {
        readonly type: "receive";
        readonly stateMutability: "payable";
    }, {
        readonly type: "function";
        readonly name: "adapter";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "arbitraryMessage";
        readonly inputs: readonly [{
            readonly name: "target";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "l2CallData";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "balanceOf";
        readonly inputs: readonly [{
            readonly name: "l2Token";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "user";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "changeAdapter";
        readonly inputs: readonly [{
            readonly name: "_adapter";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "owner";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "relayTokens";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "l2Token";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "amount";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "to";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "rootBundleProposal";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "poolRebalanceRoot";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }, {
            readonly name: "relayerRefundRoot";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }, {
            readonly name: "slowRelayRoot";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }, {
            readonly name: "claimedBitMap";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "proposer";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "unclaimedPoolRebalanceLeafCount";
            readonly type: "uint8";
            readonly internalType: "uint8";
        }, {
            readonly name: "challengePeriodEndTimestamp";
            readonly type: "uint32";
            readonly internalType: "uint32";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "setPendingRootBundle";
        readonly inputs: readonly [{
            readonly name: "_rootBundleProposal";
            readonly type: "tuple";
            readonly internalType: "struct HubPoolInterface.RootBundle";
            readonly components: readonly [{
                readonly name: "poolRebalanceRoot";
                readonly type: "bytes32";
                readonly internalType: "bytes32";
            }, {
                readonly name: "relayerRefundRoot";
                readonly type: "bytes32";
                readonly internalType: "bytes32";
            }, {
                readonly name: "slowRelayRoot";
                readonly type: "bytes32";
                readonly internalType: "bytes32";
            }, {
                readonly name: "claimedBitMap";
                readonly type: "uint256";
                readonly internalType: "uint256";
            }, {
                readonly name: "proposer";
                readonly type: "address";
                readonly internalType: "address";
            }, {
                readonly name: "unclaimedPoolRebalanceLeafCount";
                readonly type: "uint8";
                readonly internalType: "uint8";
            }, {
                readonly name: "challengePeriodEndTimestamp";
                readonly type: "uint32";
                readonly internalType: "uint32";
            }];
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "event";
        readonly name: "AdapterChanged";
        readonly inputs: readonly [{
            readonly name: "oldAdapter";
            readonly type: "address";
            readonly indexed: true;
            readonly internalType: "address";
        }, {
            readonly name: "newAdapter";
            readonly type: "address";
            readonly indexed: true;
            readonly internalType: "address";
        }];
        readonly anonymous: false;
    }];
    static createInterface(): MockHubPoolInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): MockHubPool;
}
export {};
