import { Signer } from "ethers";
import type { Provider } from "@ethersproject/providers";
import type { ExtendedHubPoolInterface, ExtendedHubPoolInterfaceInterface } from "../ExtendedHubPoolInterface";
export declare class ExtendedHubPoolInterface__factory {
    static readonly abi: readonly [{
        readonly type: "function";
        readonly name: "addLiquidity";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "l1TokenAmount";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
    }, {
        readonly type: "function";
        readonly name: "claimProtocolFeesCaptured";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "disableL1TokenForLiquidityProvision";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "disputeRootBundle";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "emergencyDeleteProposal";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "enableL1TokenForLiquidityProvision";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "exchangeRateCurrent";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "executeRootBundle";
        readonly inputs: readonly [{
            readonly name: "chainId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "groupIndex";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "bundleLpFees";
            readonly type: "uint256[]";
            readonly internalType: "uint256[]";
        }, {
            readonly name: "netSendAmounts";
            readonly type: "int256[]";
            readonly internalType: "int256[]";
        }, {
            readonly name: "runningBalances";
            readonly type: "int256[]";
            readonly internalType: "int256[]";
        }, {
            readonly name: "leafId";
            readonly type: "uint8";
            readonly internalType: "uint8";
        }, {
            readonly name: "l1Tokens";
            readonly type: "address[]";
            readonly internalType: "address[]";
        }, {
            readonly name: "proof";
            readonly type: "bytes32[]";
            readonly internalType: "bytes32[]";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "liquidityUtilizationCurrent";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "liquidityUtilizationPostRelay";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "relayedAmount";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly outputs: readonly [{
            readonly name: "";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "loadEthForL2Calls";
        readonly inputs: readonly [];
        readonly outputs: readonly [];
        readonly stateMutability: "payable";
    }, {
        readonly type: "function";
        readonly name: "poolRebalanceRoute";
        readonly inputs: readonly [{
            readonly name: "destinationChainId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [{
            readonly name: "destinationToken";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly stateMutability: "view";
    }, {
        readonly type: "function";
        readonly name: "proposeRootBundle";
        readonly inputs: readonly [{
            readonly name: "bundleEvaluationBlockNumbers";
            readonly type: "uint256[]";
            readonly internalType: "uint256[]";
        }, {
            readonly name: "poolRebalanceLeafCount";
            readonly type: "uint8";
            readonly internalType: "uint8";
        }, {
            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 outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "relaySpokePoolAdminFunction";
        readonly inputs: readonly [{
            readonly name: "chainId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "functionData";
            readonly type: "bytes";
            readonly internalType: "bytes";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "removeLiquidity";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "lpTokenAmount";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "sendEth";
            readonly type: "bool";
            readonly internalType: "bool";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "rootBundleProposal";
        readonly inputs: readonly [];
        readonly outputs: readonly [{
            readonly name: "";
            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 stateMutability: "pure";
    }, {
        readonly type: "function";
        readonly name: "setBond";
        readonly inputs: readonly [{
            readonly name: "newBondToken";
            readonly type: "address";
            readonly internalType: "contract IERC20";
        }, {
            readonly name: "newBondAmount";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "setCrossChainContracts";
        readonly inputs: readonly [{
            readonly name: "l2ChainId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "adapter";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "spokePool";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "setDepositRoute";
        readonly inputs: readonly [{
            readonly name: "originChainId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "destinationChainId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "originToken";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "depositsEnabled";
            readonly type: "bool";
            readonly internalType: "bool";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "setIdentifier";
        readonly inputs: readonly [{
            readonly name: "newIdentifier";
            readonly type: "bytes32";
            readonly internalType: "bytes32";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "setLiveness";
        readonly inputs: readonly [{
            readonly name: "newLiveness";
            readonly type: "uint32";
            readonly internalType: "uint32";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "setPaused";
        readonly inputs: readonly [{
            readonly name: "pause";
            readonly type: "bool";
            readonly internalType: "bool";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "setPoolRebalanceRoute";
        readonly inputs: readonly [{
            readonly name: "destinationChainId";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }, {
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "destinationToken";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "setProtocolFeeCapture";
        readonly inputs: readonly [{
            readonly name: "newProtocolFeeCaptureAddress";
            readonly type: "address";
            readonly internalType: "address";
        }, {
            readonly name: "newProtocolFeeCapturePct";
            readonly type: "uint256";
            readonly internalType: "uint256";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }, {
        readonly type: "function";
        readonly name: "sync";
        readonly inputs: readonly [{
            readonly name: "l1Token";
            readonly type: "address";
            readonly internalType: "address";
        }];
        readonly outputs: readonly [];
        readonly stateMutability: "nonpayable";
    }];
    static createInterface(): ExtendedHubPoolInterfaceInterface;
    static connect(address: string, signerOrProvider: Signer | Provider): ExtendedHubPoolInterface;
}
