import type { BaseContract, BigNumber, BigNumberish, BytesLike, CallOverrides, ContractTransaction, Overrides, PopulatedTransaction, Signer, utils } from "ethers"; import type { FunctionFragment, Result } from "@ethersproject/abi"; import type { Listener, Provider } from "@ethersproject/providers"; import type { TypedEventFilter, TypedEvent, TypedListener, OnEvent } from "../../../../common"; export type PacketStruct = { nonce: BigNumberish; srcEid: BigNumberish; sender: string; dstEid: BigNumberish; receiver: BytesLike; guid: BytesLike; message: BytesLike; }; export type PacketStructOutput = [ BigNumber, number, string, number, string, string, string ] & { nonce: BigNumber; srcEid: number; sender: string; dstEid: number; receiver: string; guid: string; message: string; }; export type MessagingFeeStruct = { nativeFee: BigNumberish; lzTokenFee: BigNumberish; }; export type MessagingFeeStructOutput = [BigNumber, BigNumber] & { nativeFee: BigNumber; lzTokenFee: BigNumber; }; export type SetConfigParamStruct = { eid: BigNumberish; configType: BigNumberish; config: BytesLike; }; export type SetConfigParamStructOutput = [number, number, string] & { eid: number; configType: number; config: string; }; export interface ISendLibInterface extends utils.Interface { functions: { "getConfig(uint32,address,uint32)": FunctionFragment; "isSupportedEid(uint32)": FunctionFragment; "messageLibType()": FunctionFragment; "quote((uint64,uint32,address,uint32,bytes32,bytes32,bytes),bytes,bool)": FunctionFragment; "send((uint64,uint32,address,uint32,bytes32,bytes32,bytes),bytes,bool)": FunctionFragment; "setConfig(address,(uint32,uint32,bytes)[])": FunctionFragment; "setTreasury(address)": FunctionFragment; "supportsInterface(bytes4)": FunctionFragment; "version()": FunctionFragment; "withdrawFee(address,uint256)": FunctionFragment; "withdrawLzTokenFee(address,address,uint256)": FunctionFragment; }; getFunction(nameOrSignatureOrTopic: "getConfig" | "isSupportedEid" | "messageLibType" | "quote" | "send" | "setConfig" | "setTreasury" | "supportsInterface" | "version" | "withdrawFee" | "withdrawLzTokenFee"): FunctionFragment; encodeFunctionData(functionFragment: "getConfig", values: [BigNumberish, string, BigNumberish]): string; encodeFunctionData(functionFragment: "isSupportedEid", values: [BigNumberish]): string; encodeFunctionData(functionFragment: "messageLibType", values?: undefined): string; encodeFunctionData(functionFragment: "quote", values: [PacketStruct, BytesLike, boolean]): string; encodeFunctionData(functionFragment: "send", values: [PacketStruct, BytesLike, boolean]): string; encodeFunctionData(functionFragment: "setConfig", values: [string, SetConfigParamStruct[]]): string; encodeFunctionData(functionFragment: "setTreasury", values: [string]): string; encodeFunctionData(functionFragment: "supportsInterface", values: [BytesLike]): string; encodeFunctionData(functionFragment: "version", values?: undefined): string; encodeFunctionData(functionFragment: "withdrawFee", values: [string, BigNumberish]): string; encodeFunctionData(functionFragment: "withdrawLzTokenFee", values: [string, string, BigNumberish]): string; decodeFunctionResult(functionFragment: "getConfig", data: BytesLike): Result; decodeFunctionResult(functionFragment: "isSupportedEid", data: BytesLike): Result; decodeFunctionResult(functionFragment: "messageLibType", data: BytesLike): Result; decodeFunctionResult(functionFragment: "quote", data: BytesLike): Result; decodeFunctionResult(functionFragment: "send", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setConfig", data: BytesLike): Result; decodeFunctionResult(functionFragment: "setTreasury", data: BytesLike): Result; decodeFunctionResult(functionFragment: "supportsInterface", data: BytesLike): Result; decodeFunctionResult(functionFragment: "version", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "withdrawLzTokenFee", data: BytesLike): Result; events: {}; } export interface ISendLib extends BaseContract { connect(signerOrProvider: Signer | Provider | string): this; attach(addressOrName: string): this; deployed(): Promise; interface: ISendLibInterface; queryFilter(event: TypedEventFilter, fromBlockOrBlockhash?: string | number | undefined, toBlock?: string | number | undefined): Promise>; listeners(eventFilter?: TypedEventFilter): Array>; listeners(eventName?: string): Array; removeAllListeners(eventFilter: TypedEventFilter): this; removeAllListeners(eventName?: string): this; off: OnEvent; on: OnEvent; once: OnEvent; removeListener: OnEvent; functions: { getConfig(_eid: BigNumberish, _oapp: string, _configType: BigNumberish, overrides?: CallOverrides): Promise<[string] & { config: string; }>; isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise<[boolean]>; messageLibType(overrides?: CallOverrides): Promise<[number]>; quote(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: CallOverrides): Promise<[MessagingFeeStructOutput]>; send(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: Overrides & { from?: string; }): Promise; setConfig(_oapp: string, _config: SetConfigParamStruct[], overrides?: Overrides & { from?: string; }): Promise; setTreasury(_treasury: string, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise<[boolean]>; version(overrides?: CallOverrides): Promise<[ BigNumber, number, number ] & { major: BigNumber; minor: number; endpointVersion: number; }>; withdrawFee(_to: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawLzTokenFee(_lzToken: string, _to: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; getConfig(_eid: BigNumberish, _oapp: string, _configType: BigNumberish, overrides?: CallOverrides): Promise; isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise; messageLibType(overrides?: CallOverrides): Promise; quote(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: CallOverrides): Promise; send(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: Overrides & { from?: string; }): Promise; setConfig(_oapp: string, _config: SetConfigParamStruct[], overrides?: Overrides & { from?: string; }): Promise; setTreasury(_treasury: string, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise<[ BigNumber, number, number ] & { major: BigNumber; minor: number; endpointVersion: number; }>; withdrawFee(_to: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawLzTokenFee(_lzToken: string, _to: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; callStatic: { getConfig(_eid: BigNumberish, _oapp: string, _configType: BigNumberish, overrides?: CallOverrides): Promise; isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise; messageLibType(overrides?: CallOverrides): Promise; quote(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: CallOverrides): Promise; send(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: CallOverrides): Promise<[MessagingFeeStructOutput, string] & { encodedPacket: string; }>; setConfig(_oapp: string, _config: SetConfigParamStruct[], overrides?: CallOverrides): Promise; setTreasury(_treasury: string, overrides?: CallOverrides): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise<[ BigNumber, number, number ] & { major: BigNumber; minor: number; endpointVersion: number; }>; withdrawFee(_to: string, _amount: BigNumberish, overrides?: CallOverrides): Promise; withdrawLzTokenFee(_lzToken: string, _to: string, _amount: BigNumberish, overrides?: CallOverrides): Promise; }; filters: {}; estimateGas: { getConfig(_eid: BigNumberish, _oapp: string, _configType: BigNumberish, overrides?: CallOverrides): Promise; isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise; messageLibType(overrides?: CallOverrides): Promise; quote(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: CallOverrides): Promise; send(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: Overrides & { from?: string; }): Promise; setConfig(_oapp: string, _config: SetConfigParamStruct[], overrides?: Overrides & { from?: string; }): Promise; setTreasury(_treasury: string, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; withdrawFee(_to: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawLzTokenFee(_lzToken: string, _to: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; populateTransaction: { getConfig(_eid: BigNumberish, _oapp: string, _configType: BigNumberish, overrides?: CallOverrides): Promise; isSupportedEid(_eid: BigNumberish, overrides?: CallOverrides): Promise; messageLibType(overrides?: CallOverrides): Promise; quote(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: CallOverrides): Promise; send(_packet: PacketStruct, _options: BytesLike, _payInLzToken: boolean, overrides?: Overrides & { from?: string; }): Promise; setConfig(_oapp: string, _config: SetConfigParamStruct[], overrides?: Overrides & { from?: string; }): Promise; setTreasury(_treasury: string, overrides?: Overrides & { from?: string; }): Promise; supportsInterface(interfaceId: BytesLike, overrides?: CallOverrides): Promise; version(overrides?: CallOverrides): Promise; withdrawFee(_to: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; withdrawLzTokenFee(_lzToken: string, _to: string, _amount: BigNumberish, overrides?: Overrides & { from?: string; }): Promise; }; }