import { type ContractRunner } from "ethers"; import type { IHashflowPool, IHashflowPoolInterface } from "../IHashflowPool"; export declare class IHashflowPool__factory { static readonly abi: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "withdrawAmount"; readonly type: "uint256"; }]; readonly name: "RemoveLiquidity"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "effectiveTrader"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }]; readonly name: "Trade"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "prevSigner"; readonly type: "address"; }]; readonly name: "UpdateSigner"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "account"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "UpdateWithdrawalAccount"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "uint16"; readonly name: "dstChainId"; readonly type: "uint16"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "dstPool"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "dstTrader"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bytes32"; readonly name: "quoteToken"; readonly type: "bytes32"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly indexed: false; readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }]; readonly name: "XChainTrade"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }]; readonly name: "XChainTradeFill"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "approveToken"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "decreaseTokenAllowance"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "externalAccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }]; readonly name: "fillXChain"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }]; readonly name: "getReserves"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "spender"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "increaseTokenAllowance"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "string"; readonly name: "name"; readonly type: "string"; }, { readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "operations"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "router"; readonly type: "address"; }]; readonly name: "initialize"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bytes32"; readonly name: "hash"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly name: "isValidSignature"; readonly outputs: readonly [{ readonly internalType: "bytes4"; readonly name: "magicValue"; readonly type: "bytes4"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "bool"; readonly name: "enabled"; readonly type: "bool"; }]; readonly name: "killswitchOperations"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "name"; readonly outputs: readonly [{ readonly internalType: "string"; readonly name: ""; readonly type: "string"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }]; readonly name: "nonces"; readonly outputs: readonly [{ readonly internalType: "uint256"; readonly name: ""; readonly type: "uint256"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "operations"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "recipient"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "removeLiquidity"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "router"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly []; readonly name: "signerConfiguration"; readonly outputs: readonly [{ readonly internalType: "address"; readonly name: ""; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "externalAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteExpiry"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "takerSignature"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "makerSignature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.RFQMQuote"; readonly name: "quote"; readonly type: "tuple"; }]; readonly name: "tradeRFQM"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "externalAccount"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "effectiveTrader"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "effectiveBaseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteExpiry"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.RFQTQuote"; readonly name: "quote"; readonly type: "tuple"; }]; readonly name: "tradeRFQT"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint16"; readonly name: "srcChainId"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "dstChainId"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "srcPool"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "dstPool"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "srcExternalAccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "dstExternalAccount"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "dstTrader"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "quoteToken"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteExpiry"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "xChainMessenger"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "takerSignature"; readonly type: "bytes"; }, { readonly internalType: "bytes"; readonly name: "makerSignature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.XChainRFQMQuote"; readonly name: "quote"; readonly type: "tuple"; }]; readonly name: "tradeXChainRFQM"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint16"; readonly name: "srcChainId"; readonly type: "uint16"; }, { readonly internalType: "uint16"; readonly name: "dstChainId"; readonly type: "uint16"; }, { readonly internalType: "address"; readonly name: "srcPool"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "dstPool"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "srcExternalAccount"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "dstExternalAccount"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "dstTrader"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly internalType: "bytes32"; readonly name: "quoteToken"; readonly type: "bytes32"; }, { readonly internalType: "uint256"; readonly name: "effectiveBaseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "baseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "quoteExpiry"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "bytes32"; readonly name: "txid"; readonly type: "bytes32"; }, { readonly internalType: "address"; readonly name: "xChainMessenger"; readonly type: "address"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.XChainRFQTQuote"; readonly name: "quote"; readonly type: "tuple"; }, { readonly internalType: "address"; readonly name: "trader"; readonly type: "address"; }]; readonly name: "tradeXChainRFQT"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "signer"; readonly type: "address"; }]; readonly name: "updateSigner"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address[]"; readonly name: "withdrawalAccounts"; readonly type: "address[]"; }, { readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "updateWithdrawalAccount"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "xChainMessenger"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "updateXChainMessengerAuthorization"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "uint16"; readonly name: "chainId"; readonly type: "uint16"; }, { readonly internalType: "bytes32"; readonly name: "pool"; readonly type: "bytes32"; }]; readonly internalType: "struct IHashflowPool.AuthorizedXChainPool[]"; readonly name: "pools"; readonly type: "tuple[]"; }, { readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "updateXChainPoolAuthorization"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; static createInterface(): IHashflowPoolInterface; static connect(address: string, runner?: ContractRunner | null): IHashflowPool; }