import { ChainId, Currency, CurrencyAmount } from "@onyxcoindev/sdk-core-test"; import { ApprovalTypes } from "../util"; import { IMulticallProvider } from "./multicall-provider"; type TokenApprovalTypes = { approvalTokenIn: ApprovalTypes; approvalTokenOut: ApprovalTypes; }; /** * Provider for accessing the SwapRouter02 Contract . * * @export * @interface IRouterProvider */ export interface ISwapRouterProvider { /** * Get the approval method needed for each token. Throws an error if either query fails. * * @param tokenInAmount The Currency Amount of tokenIn needed by the user * @param tokenOutAmount The Currency Amount of tokenOut needed by the user * @returns the Approval Types for each token. */ getApprovalType(tokenInAmount: CurrencyAmount, tokenOutAmount: CurrencyAmount): Promise; } export declare class SwapRouterProvider implements ISwapRouterProvider { protected chainId: ChainId; protected multicall2Provider: IMulticallProvider; constructor(chainId: ChainId, multicall2Provider: IMulticallProvider); getApprovalType(tokenInAmount: CurrencyAmount, tokenOutAmount: CurrencyAmount): Promise; } export {};