import { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, ContractRunner, ContractMethod, Listener } from 'ethers'; import { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from './common'; export declare namespace ICrossCurveRouter { type InvoiceStruct = { executionPrice: BigNumberish; deadline: BigNumberish; v: BigNumberish; r: BytesLike; s: BytesLike; }; type InvoiceStructOutput = [ executionPrice: bigint, deadline: bigint, v: bigint, r: string, s: string ] & { executionPrice: bigint; deadline: bigint; v: bigint; r: string; s: string; }; } export interface CrossCurveFacetInterface extends Interface { getFunction(nameOrSignature: "startCrossCurve"): FunctionFragment; encodeFunctionData(functionFragment: "startCrossCurve", values: [string[], BytesLike[], ICrossCurveRouter.InvoiceStruct]): string; decodeFunctionResult(functionFragment: "startCrossCurve", data: BytesLike): Result; } export interface CrossCurveFacet extends BaseContract { connect(runner?: ContractRunner | null): CrossCurveFacet; waitForDeployment(): Promise; interface: CrossCurveFacetInterface; 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; startCrossCurve: TypedContractMethod<[ operations: string[], params: BytesLike[], receipt: ICrossCurveRouter.InvoiceStruct ], [ string[] ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "startCrossCurve"): TypedContractMethod<[ operations: string[], params: BytesLike[], receipt: ICrossCurveRouter.InvoiceStruct ], [ string[] ], "nonpayable">; filters: {}; }