import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from "./common"; export declare namespace IHashflowRouter { type XChainFillMessageStruct = { srcHashflowChainId: BigNumberish; srcPool: BytesLike; dstPool: AddressLike; dstExternalAccount: AddressLike; dstTrader: AddressLike; quoteToken: AddressLike; quoteTokenAmount: BigNumberish; txid: BytesLike; srcCaller: BytesLike; dstContract: AddressLike; dstContractCalldata: BytesLike; }; type XChainFillMessageStructOutput = [ srcHashflowChainId: bigint, srcPool: string, dstPool: string, dstExternalAccount: string, dstTrader: string, quoteToken: string, quoteTokenAmount: bigint, txid: string, srcCaller: string, dstContract: string, dstContractCalldata: string ] & { srcHashflowChainId: bigint; srcPool: string; dstPool: string; dstExternalAccount: string; dstTrader: string; quoteToken: string; quoteTokenAmount: bigint; txid: string; srcCaller: string; dstContract: string; dstContractCalldata: string; }; } export declare namespace IQuote { type RFQMQuoteStruct = { pool: AddressLike; externalAccount: AddressLike; trader: AddressLike; baseToken: AddressLike; quoteToken: AddressLike; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; txid: BytesLike; takerSignature: BytesLike; makerSignature: BytesLike; }; type RFQMQuoteStructOutput = [ pool: string, externalAccount: string, trader: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, txid: string, takerSignature: string, makerSignature: string ] & { pool: string; externalAccount: string; trader: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; quoteExpiry: bigint; txid: string; takerSignature: string; makerSignature: string; }; type RFQTQuoteStruct = { pool: AddressLike; externalAccount: AddressLike; trader: AddressLike; effectiveTrader: AddressLike; baseToken: AddressLike; quoteToken: AddressLike; effectiveBaseTokenAmount: BigNumberish; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; nonce: BigNumberish; txid: BytesLike; signature: BytesLike; }; type RFQTQuoteStructOutput = [ pool: string, externalAccount: string, trader: string, effectiveTrader: string, baseToken: string, quoteToken: string, effectiveBaseTokenAmount: bigint, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, nonce: bigint, txid: string, signature: string ] & { pool: string; externalAccount: string; trader: string; effectiveTrader: string; baseToken: string; quoteToken: string; effectiveBaseTokenAmount: bigint; baseTokenAmount: bigint; quoteTokenAmount: bigint; quoteExpiry: bigint; nonce: bigint; txid: string; signature: string; }; type XChainRFQMQuoteStruct = { srcChainId: BigNumberish; dstChainId: BigNumberish; srcPool: AddressLike; dstPool: BytesLike; srcExternalAccount: AddressLike; dstExternalAccount: BytesLike; trader: AddressLike; dstTrader: BytesLike; baseToken: AddressLike; quoteToken: BytesLike; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; txid: BytesLike; xChainMessenger: AddressLike; takerSignature: BytesLike; makerSignature: BytesLike; }; type XChainRFQMQuoteStructOutput = [ srcChainId: bigint, dstChainId: bigint, srcPool: string, dstPool: string, srcExternalAccount: string, dstExternalAccount: string, trader: string, dstTrader: string, baseToken: string, quoteToken: string, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, txid: string, xChainMessenger: string, takerSignature: string, makerSignature: string ] & { srcChainId: bigint; dstChainId: bigint; srcPool: string; dstPool: string; srcExternalAccount: string; dstExternalAccount: string; trader: string; dstTrader: string; baseToken: string; quoteToken: string; baseTokenAmount: bigint; quoteTokenAmount: bigint; quoteExpiry: bigint; txid: string; xChainMessenger: string; takerSignature: string; makerSignature: string; }; type XChainRFQTQuoteStruct = { srcChainId: BigNumberish; dstChainId: BigNumberish; srcPool: AddressLike; dstPool: BytesLike; srcExternalAccount: AddressLike; dstExternalAccount: BytesLike; dstTrader: BytesLike; baseToken: AddressLike; quoteToken: BytesLike; effectiveBaseTokenAmount: BigNumberish; baseTokenAmount: BigNumberish; quoteTokenAmount: BigNumberish; quoteExpiry: BigNumberish; nonce: BigNumberish; txid: BytesLike; xChainMessenger: AddressLike; signature: BytesLike; }; type XChainRFQTQuoteStructOutput = [ srcChainId: bigint, dstChainId: bigint, srcPool: string, dstPool: string, srcExternalAccount: string, dstExternalAccount: string, dstTrader: string, baseToken: string, quoteToken: string, effectiveBaseTokenAmount: bigint, baseTokenAmount: bigint, quoteTokenAmount: bigint, quoteExpiry: bigint, nonce: bigint, txid: string, xChainMessenger: string, signature: string ] & { srcChainId: bigint; dstChainId: bigint; srcPool: string; dstPool: string; srcExternalAccount: string; dstExternalAccount: string; dstTrader: string; baseToken: string; quoteToken: string; effectiveBaseTokenAmount: bigint; baseTokenAmount: bigint; quoteTokenAmount: bigint; quoteExpiry: bigint; nonce: bigint; txid: string; xChainMessenger: string; signature: string; }; } export interface IHashflowRouterInterface extends Interface { getFunction(nameOrSignature: "authorizedPools" | "authorizedXChainCallers" | "authorizedXChainMessengersByCallee" | "authorizedXChainMessengersByPool" | "authorizedXChainPools" | "factory" | "fillXChain" | "forceUnauthorizePool" | "initialize" | "killswitchPool" | "tradeRFQM" | "tradeRFQMLimitOrder" | "tradeRFQMLimitOrderWithPermit" | "tradeRFQMWithPermit" | "tradeRFQT" | "tradeRFQTWithPermit" | "tradeXChainRFQM" | "tradeXChainRFQMWithPermit" | "tradeXChainRFQT" | "tradeXChainRFQTWithPermit" | "updateLimitOrderGuardian" | "updatePoolAuthorization" | "updateXChainCallerAuthorization" | "updateXChainMessengerAuthorization" | "updateXChainMessengerCallerAuthorization" | "updateXChainPoolAuthorization" | "withdrawFunds"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "UpdateLimitOrderGuardian" | "UpdatePoolAuthorizaton" | "UpdateXChainCallerAuthorization" | "UpdateXChainMessengerAuthorization" | "UpdateXChainMessengerCallerAuthorization" | "UpdateXChainPoolAuthorization"): EventFragment; encodeFunctionData(functionFragment: "authorizedPools", values: [AddressLike]): string; encodeFunctionData(functionFragment: "authorizedXChainCallers", values: [AddressLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "authorizedXChainMessengersByCallee", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "authorizedXChainMessengersByPool", values: [AddressLike, AddressLike]): string; encodeFunctionData(functionFragment: "authorizedXChainPools", values: [BytesLike, BigNumberish, BytesLike]): string; encodeFunctionData(functionFragment: "factory", values?: undefined): string; encodeFunctionData(functionFragment: "fillXChain", values: [IHashflowRouter.XChainFillMessageStruct]): string; encodeFunctionData(functionFragment: "forceUnauthorizePool", values: [AddressLike]): string; encodeFunctionData(functionFragment: "initialize", values: [AddressLike]): string; encodeFunctionData(functionFragment: "killswitchPool", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "tradeRFQM", values: [IQuote.RFQMQuoteStruct]): string; encodeFunctionData(functionFragment: "tradeRFQMLimitOrder", values: [IQuote.RFQMQuoteStruct, BytesLike]): string; encodeFunctionData(functionFragment: "tradeRFQMLimitOrderWithPermit", values: [ IQuote.RFQMQuoteStruct, BytesLike, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "tradeRFQMWithPermit", values: [ IQuote.RFQMQuoteStruct, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "tradeRFQT", values: [IQuote.RFQTQuoteStruct]): string; encodeFunctionData(functionFragment: "tradeRFQTWithPermit", values: [ IQuote.RFQTQuoteStruct, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "tradeXChainRFQM", values: [IQuote.XChainRFQMQuoteStruct, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "tradeXChainRFQMWithPermit", values: [ IQuote.XChainRFQMQuoteStruct, BytesLike, BytesLike, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "tradeXChainRFQT", values: [IQuote.XChainRFQTQuoteStruct, BytesLike, BytesLike]): string; encodeFunctionData(functionFragment: "tradeXChainRFQTWithPermit", values: [ IQuote.XChainRFQTQuoteStruct, BytesLike, BytesLike, BigNumberish, BigNumberish, BytesLike, BytesLike, BigNumberish ]): string; encodeFunctionData(functionFragment: "updateLimitOrderGuardian", values: [AddressLike]): string; encodeFunctionData(functionFragment: "updatePoolAuthorization", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "updateXChainCallerAuthorization", values: [BigNumberish, BytesLike, boolean]): string; encodeFunctionData(functionFragment: "updateXChainMessengerAuthorization", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "updateXChainMessengerCallerAuthorization", values: [AddressLike, boolean]): string; encodeFunctionData(functionFragment: "updateXChainPoolAuthorization", values: [BigNumberish, BytesLike, boolean]): string; encodeFunctionData(functionFragment: "withdrawFunds", values: [AddressLike]): string; decodeFunctionResult(functionFragment: "authorizedPools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizedXChainCallers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizedXChainMessengersByCallee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizedXChainMessengersByPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "authorizedXChainPools", data: BytesLike): Result; decodeFunctionResult(functionFragment: "factory", data: BytesLike): Result; decodeFunctionResult(functionFragment: "fillXChain", data: BytesLike): Result; decodeFunctionResult(functionFragment: "forceUnauthorizePool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "initialize", data: BytesLike): Result; decodeFunctionResult(functionFragment: "killswitchPool", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQM", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQMLimitOrder", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQMLimitOrderWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQMWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeRFQTWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChainRFQM", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChainRFQMWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChainRFQT", data: BytesLike): Result; decodeFunctionResult(functionFragment: "tradeXChainRFQTWithPermit", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateLimitOrderGuardian", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updatePoolAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainCallerAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainMessengerAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainMessengerCallerAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "updateXChainPoolAuthorization", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawFunds", data: BytesLike): Result; } export declare namespace UpdateLimitOrderGuardianEvent { type InputTuple = [guardian: AddressLike]; type OutputTuple = [guardian: string]; interface OutputObject { guardian: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdatePoolAuthorizatonEvent { type InputTuple = [pool: AddressLike, authorized: boolean]; type OutputTuple = [pool: string, authorized: boolean]; interface OutputObject { pool: string; authorized: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateXChainCallerAuthorizationEvent { type InputTuple = [ pool: AddressLike, otherHashflowChainId: BigNumberish, caller: BytesLike, authorized: boolean ]; type OutputTuple = [ pool: string, otherHashflowChainId: bigint, caller: string, authorized: boolean ]; interface OutputObject { pool: string; otherHashflowChainId: bigint; caller: string; authorized: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateXChainMessengerAuthorizationEvent { type InputTuple = [ pool: AddressLike, xChainMessenger: AddressLike, authorized: boolean ]; type OutputTuple = [ pool: string, xChainMessenger: string, authorized: boolean ]; interface OutputObject { pool: string; xChainMessenger: string; authorized: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateXChainMessengerCallerAuthorizationEvent { type InputTuple = [ callee: AddressLike, xChainMessenger: AddressLike, authorized: boolean ]; type OutputTuple = [ callee: string, xChainMessenger: string, authorized: boolean ]; interface OutputObject { callee: string; xChainMessenger: string; authorized: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export declare namespace UpdateXChainPoolAuthorizationEvent { type InputTuple = [ pool: AddressLike, otherHashflowChainId: BigNumberish, otherChainPool: BytesLike, authorized: boolean ]; type OutputTuple = [ pool: string, otherHashflowChainId: bigint, otherChainPool: string, authorized: boolean ]; interface OutputObject { pool: string; otherHashflowChainId: bigint; otherChainPool: string; authorized: boolean; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface IHashflowRouter extends BaseContract { connect(runner?: ContractRunner | null): IHashflowRouter; waitForDeployment(): Promise; interface: IHashflowRouterInterface; queryFilter(event: TCEvent, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; queryFilter(filter: TypedDeferredTopicFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>>; on(event: TCEvent, listener: TypedListener): Promise; on(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; once(event: TCEvent, listener: TypedListener): Promise; once(filter: TypedDeferredTopicFilter, listener: TypedListener): Promise; listeners(event: TCEvent): Promise>>; listeners(eventName?: string): Promise>; removeAllListeners(event?: TCEvent): Promise; authorizedPools: TypedContractMethod<[pool: AddressLike], [boolean], "view">; authorizedXChainCallers: TypedContractMethod<[ dstContract: AddressLike, srcHashflowChainId: BigNumberish, caller: BytesLike ], [ boolean ], "view">; authorizedXChainMessengersByCallee: TypedContractMethod<[ callee: AddressLike, messenger: AddressLike ], [ boolean ], "view">; authorizedXChainMessengersByPool: TypedContractMethod<[ pool: AddressLike, messenger: AddressLike ], [ boolean ], "view">; authorizedXChainPools: TypedContractMethod<[ dstPool: BytesLike, srcHChainId: BigNumberish, srcPool: BytesLike ], [ boolean ], "view">; factory: TypedContractMethod<[], [string], "view">; fillXChain: TypedContractMethod<[ fillMessage: IHashflowRouter.XChainFillMessageStruct ], [ void ], "nonpayable">; forceUnauthorizePool: TypedContractMethod<[ pool: AddressLike ], [ void ], "nonpayable">; initialize: TypedContractMethod<[factory: AddressLike], [void], "nonpayable">; killswitchPool: TypedContractMethod<[ pool: AddressLike, enabled: boolean ], [ void ], "nonpayable">; tradeRFQM: TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct ], [ void ], "nonpayable">; tradeRFQMLimitOrder: TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, guardianSignature: BytesLike ], [ void ], "nonpayable">; tradeRFQMLimitOrderWithPermit: TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, guardianSignature: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; tradeRFQMWithPermit: TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; tradeRFQT: TypedContractMethod<[ quote: IQuote.RFQTQuoteStruct ], [ void ], "payable">; tradeRFQTWithPermit: TypedContractMethod<[ quote: IQuote.RFQTQuoteStruct, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; tradeXChainRFQM: TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike ], [ void ], "payable">; tradeXChainRFQMWithPermit: TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "payable">; tradeXChainRFQT: TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike ], [ void ], "payable">; tradeXChainRFQTWithPermit: TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "payable">; updateLimitOrderGuardian: TypedContractMethod<[ guardian: AddressLike ], [ void ], "nonpayable">; updatePoolAuthorization: TypedContractMethod<[ pool: AddressLike, authorized: boolean ], [ void ], "nonpayable">; updateXChainCallerAuthorization: TypedContractMethod<[ otherHashflowChainId: BigNumberish, caller: BytesLike, authorized: boolean ], [ void ], "nonpayable">; updateXChainMessengerAuthorization: TypedContractMethod<[ xChainMessenger: AddressLike, authorized: boolean ], [ void ], "nonpayable">; updateXChainMessengerCallerAuthorization: TypedContractMethod<[ xChainMessenger: AddressLike, authorized: boolean ], [ void ], "nonpayable">; updateXChainPoolAuthorization: TypedContractMethod<[ otherHashflowChainId: BigNumberish, otherPool: BytesLike, authorized: boolean ], [ void ], "nonpayable">; withdrawFunds: TypedContractMethod<[ token: AddressLike ], [ void ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "authorizedPools"): TypedContractMethod<[pool: AddressLike], [boolean], "view">; getFunction(nameOrSignature: "authorizedXChainCallers"): TypedContractMethod<[ dstContract: AddressLike, srcHashflowChainId: BigNumberish, caller: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "authorizedXChainMessengersByCallee"): TypedContractMethod<[ callee: AddressLike, messenger: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "authorizedXChainMessengersByPool"): TypedContractMethod<[ pool: AddressLike, messenger: AddressLike ], [ boolean ], "view">; getFunction(nameOrSignature: "authorizedXChainPools"): TypedContractMethod<[ dstPool: BytesLike, srcHChainId: BigNumberish, srcPool: BytesLike ], [ boolean ], "view">; getFunction(nameOrSignature: "factory"): TypedContractMethod<[], [string], "view">; getFunction(nameOrSignature: "fillXChain"): TypedContractMethod<[ fillMessage: IHashflowRouter.XChainFillMessageStruct ], [ void ], "nonpayable">; getFunction(nameOrSignature: "forceUnauthorizePool"): TypedContractMethod<[pool: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "initialize"): TypedContractMethod<[factory: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "killswitchPool"): TypedContractMethod<[ pool: AddressLike, enabled: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeRFQM"): TypedContractMethod<[quote: IQuote.RFQMQuoteStruct], [void], "nonpayable">; getFunction(nameOrSignature: "tradeRFQMLimitOrder"): TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, guardianSignature: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeRFQMLimitOrderWithPermit"): TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, guardianSignature: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeRFQMWithPermit"): TypedContractMethod<[ quote: IQuote.RFQMQuoteStruct, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeRFQT"): TypedContractMethod<[quote: IQuote.RFQTQuoteStruct], [void], "payable">; getFunction(nameOrSignature: "tradeRFQTWithPermit"): TypedContractMethod<[ quote: IQuote.RFQTQuoteStruct, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "nonpayable">; getFunction(nameOrSignature: "tradeXChainRFQM"): TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "tradeXChainRFQMWithPermit"): TypedContractMethod<[ quote: IQuote.XChainRFQMQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "payable">; getFunction(nameOrSignature: "tradeXChainRFQT"): TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike ], [ void ], "payable">; getFunction(nameOrSignature: "tradeXChainRFQTWithPermit"): TypedContractMethod<[ quote: IQuote.XChainRFQTQuoteStruct, dstContract: BytesLike, dstCalldata: BytesLike, deadline: BigNumberish, v: BigNumberish, r: BytesLike, s: BytesLike, amountToApprove: BigNumberish ], [ void ], "payable">; getFunction(nameOrSignature: "updateLimitOrderGuardian"): TypedContractMethod<[guardian: AddressLike], [void], "nonpayable">; getFunction(nameOrSignature: "updatePoolAuthorization"): TypedContractMethod<[ pool: AddressLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainCallerAuthorization"): TypedContractMethod<[ otherHashflowChainId: BigNumberish, caller: BytesLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainMessengerAuthorization"): TypedContractMethod<[ xChainMessenger: AddressLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainMessengerCallerAuthorization"): TypedContractMethod<[ xChainMessenger: AddressLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "updateXChainPoolAuthorization"): TypedContractMethod<[ otherHashflowChainId: BigNumberish, otherPool: BytesLike, authorized: boolean ], [ void ], "nonpayable">; getFunction(nameOrSignature: "withdrawFunds"): TypedContractMethod<[token: AddressLike], [void], "nonpayable">; getEvent(key: "UpdateLimitOrderGuardian"): TypedContractEvent; getEvent(key: "UpdatePoolAuthorizaton"): TypedContractEvent; getEvent(key: "UpdateXChainCallerAuthorization"): TypedContractEvent; getEvent(key: "UpdateXChainMessengerAuthorization"): TypedContractEvent; getEvent(key: "UpdateXChainMessengerCallerAuthorization"): TypedContractEvent; getEvent(key: "UpdateXChainPoolAuthorization"): TypedContractEvent; filters: { "UpdateLimitOrderGuardian(address)": TypedContractEvent; UpdateLimitOrderGuardian: TypedContractEvent; "UpdatePoolAuthorizaton(address,bool)": TypedContractEvent; UpdatePoolAuthorizaton: TypedContractEvent; "UpdateXChainCallerAuthorization(address,uint16,bytes32,bool)": TypedContractEvent; UpdateXChainCallerAuthorization: TypedContractEvent; "UpdateXChainMessengerAuthorization(address,address,bool)": TypedContractEvent; UpdateXChainMessengerAuthorization: TypedContractEvent; "UpdateXChainMessengerCallerAuthorization(address,address,bool)": TypedContractEvent; UpdateXChainMessengerCallerAuthorization: TypedContractEvent; "UpdateXChainPoolAuthorization(address,uint16,bytes32,bool)": TypedContractEvent; UpdateXChainPoolAuthorization: TypedContractEvent; }; }