import { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, EventFragment, AddressLike, ContractRunner, ContractMethod, Listener } from 'ethers'; import { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedLogDescription, TypedListener, TypedContractMethod } from './common'; export declare namespace IAcrossFacet { type V3AcrossDepositParamsStruct = { recipient: AddressLike; inputToken: AddressLike; outputToken: AddressLike; inputAmount: BigNumberish; outputAmountPercent: BigNumberish; destinationChainId: BigNumberish; exclusiveRelayer: AddressLike; quoteTimestamp: BigNumberish; fillDeadline: BigNumberish; exclusivityDeadline: BigNumberish; message: BytesLike; }; type V3AcrossDepositParamsStructOutput = [ recipient: string, inputToken: string, outputToken: string, inputAmount: bigint, outputAmountPercent: bigint, destinationChainId: bigint, exclusiveRelayer: string, quoteTimestamp: bigint, fillDeadline: bigint, exclusivityDeadline: bigint, message: string ] & { recipient: string; inputToken: string; outputToken: string; inputAmount: bigint; outputAmountPercent: bigint; destinationChainId: bigint; exclusiveRelayer: string; quoteTimestamp: bigint; fillDeadline: bigint; exclusivityDeadline: bigint; message: string; }; } export interface AcrossABIInterface extends Interface { getFunction(nameOrSignature: "handleV3AcrossMessage" | "sendAcrossDepositV3" | "spokePool"): FunctionFragment; getEvent(nameOrSignatureOrTopic: "CallFailed"): EventFragment; encodeFunctionData(functionFragment: "handleV3AcrossMessage", values: [AddressLike, BigNumberish, AddressLike, BytesLike]): string; encodeFunctionData(functionFragment: "sendAcrossDepositV3", values: [IAcrossFacet.V3AcrossDepositParamsStruct]): string; encodeFunctionData(functionFragment: "spokePool", values?: undefined): string; decodeFunctionResult(functionFragment: "handleV3AcrossMessage", data: BytesLike): Result; decodeFunctionResult(functionFragment: "sendAcrossDepositV3", data: BytesLike): Result; decodeFunctionResult(functionFragment: "spokePool", data: BytesLike): Result; } export declare namespace CallFailedEvent { type InputTuple = [errorMessage: BytesLike]; type OutputTuple = [errorMessage: string]; interface OutputObject { errorMessage: string; } type Event = TypedContractEvent; type Filter = TypedDeferredTopicFilter; type Log = TypedEventLog; type LogDescription = TypedLogDescription; } export interface AcrossABI extends BaseContract { connect(runner?: ContractRunner | null): AcrossABI; waitForDeployment(): Promise; interface: AcrossABIInterface; 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; handleV3AcrossMessage: TypedContractMethod<[ tokenSent: AddressLike, amount: BigNumberish, arg2: AddressLike, message: BytesLike ], [ void ], "nonpayable">; sendAcrossDepositV3: TypedContractMethod<[ acrossDepositParams: IAcrossFacet.V3AcrossDepositParamsStruct ], [ void ], "nonpayable">; spokePool: TypedContractMethod<[], [string], "view">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "handleV3AcrossMessage"): TypedContractMethod<[ tokenSent: AddressLike, amount: BigNumberish, arg2: AddressLike, message: BytesLike ], [ void ], "nonpayable">; getFunction(nameOrSignature: "sendAcrossDepositV3"): TypedContractMethod<[ acrossDepositParams: IAcrossFacet.V3AcrossDepositParamsStruct ], [ void ], "nonpayable">; getFunction(nameOrSignature: "spokePool"): TypedContractMethod<[], [string], "view">; getEvent(key: "CallFailed"): TypedContractEvent; filters: { "CallFailed(bytes)": TypedContractEvent; CallFailed: TypedContractEvent; }; }