import { BaseContract, BigNumberish, BytesLike, FunctionFragment, Result, Interface, AddressLike, ContractRunner, ContractMethod, Listener } from 'ethers'; import { TypedContractEvent, TypedDeferredTopicFilter, TypedEventLog, TypedListener, TypedContractMethod } from './common'; export declare namespace IMultiswapRouterFacet { type MultiswapCalldataStruct = { tokensIn: BytesLike[]; tokensOut: AddressLike[]; minAmountsOut: BigNumberish[]; pairs: BytesLike[][]; }; type MultiswapCalldataStructOutput = [ tokensIn: string[], tokensOut: string[], minAmountsOut: bigint[], pairs: string[][] ] & { tokensIn: string[]; tokensOut: string[]; minAmountsOut: bigint[]; pairs: string[][]; }; type Multiswap2CalldataStruct = { fullAmount: BigNumberish; tokenIn: AddressLike; tokensOut: AddressLike[]; minAmountsOut: BigNumberish[]; amountInPercentages: BigNumberish[]; pairs: BytesLike[][]; }; type Multiswap2CalldataStructOutput = [ fullAmount: bigint, tokenIn: string, tokensOut: string[], minAmountsOut: bigint[], amountInPercentages: bigint[], pairs: string[][] ] & { fullAmount: bigint; tokenIn: string; tokensOut: string[]; minAmountsOut: bigint[]; amountInPercentages: bigint[]; pairs: string[][]; }; type MultiswapReverseCalldataStruct = { tokensIn: AddressLike[]; amountsOut: BigNumberish[]; tokensOut: AddressLike[]; pairs: BytesLike[][]; }; type MultiswapReverseCalldataStructOutput = [ tokensIn: string[], amountsOut: bigint[], tokensOut: string[], pairs: string[][] ] & { tokensIn: string[]; amountsOut: bigint[]; tokensOut: string[]; pairs: string[][]; }; } export interface MultiswapRouterFaucetInterface extends Interface { getFunction(nameOrSignature: "multiswap" | "multiswap2" | "multiswapReverse"): FunctionFragment; encodeFunctionData(functionFragment: "multiswap", values: [IMultiswapRouterFacet.MultiswapCalldataStruct]): string; encodeFunctionData(functionFragment: "multiswap2", values: [IMultiswapRouterFacet.Multiswap2CalldataStruct]): string; encodeFunctionData(functionFragment: "multiswapReverse", values: [IMultiswapRouterFacet.MultiswapReverseCalldataStruct]): string; decodeFunctionResult(functionFragment: "multiswap", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multiswap2", data: BytesLike): Result; decodeFunctionResult(functionFragment: "multiswapReverse", data: BytesLike): Result; } export interface MultiswapRouterFaucet extends BaseContract { connect(runner?: ContractRunner | null): MultiswapRouterFaucet; waitForDeployment(): Promise; interface: MultiswapRouterFaucetInterface; 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; multiswap: TypedContractMethod<[ data: IMultiswapRouterFacet.MultiswapCalldataStruct ], [ string[] ], "nonpayable">; multiswap2: TypedContractMethod<[ data: IMultiswapRouterFacet.Multiswap2CalldataStruct ], [ string[] ], "nonpayable">; multiswapReverse: TypedContractMethod<[ data: IMultiswapRouterFacet.MultiswapReverseCalldataStruct ], [ string[] ], "nonpayable">; getFunction(key: string | FunctionFragment): T; getFunction(nameOrSignature: "multiswap"): TypedContractMethod<[ data: IMultiswapRouterFacet.MultiswapCalldataStruct ], [ string[] ], "nonpayable">; getFunction(nameOrSignature: "multiswap2"): TypedContractMethod<[ data: IMultiswapRouterFacet.Multiswap2CalldataStruct ], [ string[] ], "nonpayable">; getFunction(nameOrSignature: "multiswapReverse"): TypedContractMethod<[ data: IMultiswapRouterFacet.MultiswapReverseCalldataStruct ], [ string[] ], "nonpayable">; filters: {}; }