///
import type BN from "bn.js";
import type { ContractOptions } from "web3-eth-contract";
import type { EventLog } from "web3-core";
import type { EventEmitter } from "events";
import type { Callback, PayableTransactionObject, NonPayableTransactionObject, BlockType, BaseContract } from "./types";
export interface EventOptions {
filter?: object;
fromBlock?: BlockType;
topics?: string[];
}
export interface ISwapRouter extends BaseContract {
constructor(jsonInterface: any[], address?: string, options?: ContractOptions): ISwapRouter;
clone(): ISwapRouter;
methods: {
exactInput(params: [
string | number[],
string,
number | string | BN,
number | string | BN,
number | string | BN
]): PayableTransactionObject;
exactInputSingle(params: [
string,
string,
number | string | BN,
string,
number | string | BN,
number | string | BN,
number | string | BN,
number | string | BN
]): PayableTransactionObject;
exactOutput(params: [
string | number[],
string,
number | string | BN,
number | string | BN,
number | string | BN
]): PayableTransactionObject;
exactOutputSingle(params: [
string,
string,
number | string | BN,
string,
number | string | BN,
number | string | BN,
number | string | BN,
number | string | BN
]): PayableTransactionObject;
uniswapV3SwapCallback(amount0Delta: number | string | BN, amount1Delta: number | string | BN, data: string | number[]): NonPayableTransactionObject;
};
events: {
allEvents(options?: EventOptions, cb?: Callback): EventEmitter;
};
}