import type { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from "ethers"; import type { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from "../../common"; export interface ICrossChainLayerInterface extends Interface { getFunction(nameOrSignature: "disableInitializers" | "getInMessageState" | "getProtocolFee" | "receiveMessage" | "sendMessage"): FunctionFragment; encodeFunctionData(functionFragment: "disableInitializers", values?: undefined): string; encodeFunctionData(functionFragment: "getInMessageState", values: [BytesLike]): string; encodeFunctionData(functionFragment: "getProtocolFee", values?: undefined): string; encodeFunctionData(functionFragment: "receiveMessage", values: [BigNumberish, BytesLike, BytesLike[], AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "sendMessage", values: [BigNumberish, BytesLike]): string; decodeFunctionResult(functionFragment: "disableInitializers", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getInMessageState", data: BytesLike): Result; decodeFunctionResult(functionFragment: "getProtocolFee", data: BytesLike): Result; decodeFunctionResult(functionFragment: "receiveMessage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendMessage", data: BytesLike): Result; } export interface ICrossChainLayer extends BaseContract { connect(runner?: ContractRunner | null): ICrossChainLayer; waitForDeployment(): Promise; interface: ICrossChainLayerInterface; 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; disableInitializers: TypedContractMethod<[], [void], "nonpayable">; getInMessageState: TypedContractMethod<[ messageHash: BytesLike ], [ boolean ], "view">; getProtocolFee: TypedContractMethod<[], [bigint], "view">; receiveMessage: TypedContractMethod<[ messageVersion: BigNumberish, encodedMessage: BytesLike, merkleProof: BytesLike[], feeReceiver: AddressLike, extraData: BytesLike ], [ void ], "nonpayable">; sendMessage: TypedContractMethod<[ messageVersion: BigNumberish, encodedMessage: BytesLike ], [ void ], "payable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "disableInitializers"): TypedContractMethod<[], [void], "nonpayable">; getFunction(nameOrSignature: "getInMessageState"): TypedContractMethod<[messageHash: BytesLike], [boolean], "view">; getFunction(nameOrSignature: "getProtocolFee"): TypedContractMethod<[], [bigint], "view">; getFunction(nameOrSignature: "receiveMessage"): TypedContractMethod<[ messageVersion: BigNumberish, encodedMessage: BytesLike, merkleProof: BytesLike[], feeReceiver: AddressLike, extraData: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "sendMessage"): TypedContractMethod<[ messageVersion: BigNumberish, encodedMessage: BytesLike ], [ void ], "payable">; filters: {}; }