import { type ContractRunner } from "ethers"; import type { IHashflowRouter, IHashflowRouterInterface } from "../IHashflowRouter"; export declare class IHashflowRouter__factory { static readonly abi: readonly [{ readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "governance"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "prevGovernance"; readonly type: "address"; }]; readonly name: "UpdateGovernance"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "migrationRouter"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "UpdateMigrationRouterStatus"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "UpdatePoolAuthorizaton"; readonly type: "event"; }, { readonly anonymous: false; readonly inputs: readonly [{ readonly indexed: false; readonly internalType: "address"; readonly name: "xChainUa"; readonly type: "address"; }, { readonly indexed: false; readonly internalType: "address"; readonly name: "prevXChainUa"; readonly type: "address"; }]; readonly name: "UpdateXChainUA"; readonly type: "event"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }]; readonly name: "addLiquidityPrivatePool"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly components: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "amount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "nonce"; readonly type: "uint256"; }, { readonly internalType: "bytes"; readonly name: "signature"; readonly type: "bytes"; }]; readonly internalType: "struct IQuote.Deposit"; readonly name: "deposit"; readonly type: "tuple"; }]; readonly name: "addLiquidityPublicPool"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }]; readonly name: "isPoolAuthorized"; readonly outputs: readonly [{ readonly internalType: "bool"; readonly name: ""; readonly type: "bool"; }]; readonly stateMutability: "view"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "enabled"; readonly type: "bool"; }]; readonly name: "killswitchPool"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "migrationRouter"; readonly type: "address"; }]; readonly name: "migratePoolAuthorization"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "burnAmount"; readonly type: "uint256"; }]; readonly name: "removeLiquidityPublicPool"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "token"; readonly type: "address"; }, { readonly internalType: "uint256"; readonly name: "burnAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "bool"; readonly name: "approveMax"; readonly type: "bool"; }]; readonly name: "removeLiquidityPublicPoolWithPermit"; 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: "maxBaseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxQuoteTokenAmount"; 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: "quotes"; readonly type: "tuple[]"; }, { readonly internalType: "address"; readonly name: "baseToken"; readonly type: "address"; }, { readonly internalType: "address"; readonly name: "quoteToken"; readonly type: "address"; }]; readonly name: "tradeMultiHop"; readonly outputs: readonly []; readonly stateMutability: "payable"; 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: "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 internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "bool"; readonly name: "approveMax"; readonly type: "bool"; }]; readonly name: "tradeRFQmWithPermit"; 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: "maxBaseTokenAmount"; readonly type: "uint256"; }, { readonly internalType: "uint256"; readonly name: "maxQuoteTokenAmount"; 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: "tradeSingleHop"; 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: "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: "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.XChainRFQTQuote"; readonly name: "quote"; readonly type: "tuple"; }, { readonly internalType: "enum IHashflowXChainUA.XChainMessageProtocol"; readonly name: "protocol"; readonly type: "uint8"; }]; readonly name: "tradeXChain"; 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: "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.XChainRFQMQuote"; readonly name: "quote"; readonly type: "tuple"; }, { readonly internalType: "enum IHashflowXChainUA.XChainMessageProtocol"; readonly name: "protocol"; readonly type: "uint8"; }]; readonly name: "tradeXChainRFQm"; 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: "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.XChainRFQMQuote"; readonly name: "quote"; readonly type: "tuple"; }, { readonly internalType: "enum IHashflowXChainUA.XChainMessageProtocol"; readonly name: "protocol"; readonly type: "uint8"; }, { readonly internalType: "uint256"; readonly name: "deadline"; readonly type: "uint256"; }, { readonly internalType: "uint8"; readonly name: "v"; readonly type: "uint8"; }, { readonly internalType: "bytes32"; readonly name: "r"; readonly type: "bytes32"; }, { readonly internalType: "bytes32"; readonly name: "s"; readonly type: "bytes32"; }, { readonly internalType: "bool"; readonly name: "approveMax"; readonly type: "bool"; }]; readonly name: "tradeXChainRFQmWithPermit"; readonly outputs: readonly []; readonly stateMutability: "payable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "governance"; readonly type: "address"; }]; readonly name: "updateGovernance"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "router"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "status"; readonly type: "bool"; }]; readonly name: "updateMigrationRouterStatus"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "pool"; readonly type: "address"; }, { readonly internalType: "bool"; readonly name: "authorized"; readonly type: "bool"; }]; readonly name: "updatePoolAuthorization"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }, { readonly inputs: readonly [{ readonly internalType: "address"; readonly name: "xChainUa"; readonly type: "address"; }]; readonly name: "updateXChainUa"; readonly outputs: readonly []; readonly stateMutability: "nonpayable"; readonly type: "function"; }]; static createInterface(): IHashflowRouterInterface; static connect(address: string, runner?: ContractRunner | null): IHashflowRouter; }