import { Token, TradeType } from './constants'; import { Address, PublicClient } from 'viem'; export declare class SwapQuoter { static ABI: readonly [{ readonly type: "constructor"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_deployer"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "_factory"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "_WETH9"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "WETH9"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "deployer"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "factory"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly []; readonly name: "kuramaV3SwapCallback"; readonly inputs: readonly [{ readonly type: "int256"; readonly name: "amount0Delta"; readonly internalType: "int256"; }, { readonly type: "int256"; readonly name: "amount1Delta"; readonly internalType: "int256"; }, { readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }, { readonly type: "uint160[]"; readonly name: "sqrtPriceX96AfterList"; readonly internalType: "uint160[]"; }, { readonly type: "uint32[]"; readonly name: "initializedTicksCrossedList"; readonly internalType: "uint32[]"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactInput"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }, { readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }, { readonly type: "uint160"; readonly name: "sqrtPriceX96After"; readonly internalType: "uint160"; }, { readonly type: "uint32"; readonly name: "initializedTicksCrossed"; readonly internalType: "uint32"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactInputSingle"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct IQuoter.QuoteExactInputSingleParams"; readonly components: readonly [{ readonly type: "address"; readonly name: "tokenIn"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenOut"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly internalType: "uint160"; }]; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint160[]"; readonly name: "sqrtPriceX96AfterList"; readonly internalType: "uint160[]"; }, { readonly type: "uint32[]"; readonly name: "initializedTicksCrossedList"; readonly internalType: "uint32[]"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactOutput"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }, { readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint160"; readonly name: "sqrtPriceX96After"; readonly internalType: "uint160"; }, { readonly type: "uint32"; readonly name: "initializedTicksCrossed"; readonly internalType: "uint32"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactOutputSingle"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct IQuoter.QuoteExactOutputSingleParams"; readonly components: readonly [{ readonly type: "address"; readonly name: "tokenIn"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenOut"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly internalType: "uint160"; }]; }]; }]; readonly publicClient: PublicClient; readonly contractAddress: Address; constructor(publicClient: PublicClient, contractAddress: Address); private buildContractClinet; quoteCallParameters(tokenA: Token, tokenB: Token, tradeType: TradeType, amount: string, fee: string): Promise; static quoteCallParameters(tokenA: Token, tokenB: Token, tradeType: TradeType, amount: string, fee: string): { abi: readonly [{ readonly type: "constructor"; readonly stateMutability: "nonpayable"; readonly inputs: readonly [{ readonly type: "address"; readonly name: "_deployer"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "_factory"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "_WETH9"; readonly internalType: "address"; }]; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "WETH9"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "deployer"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly [{ readonly type: "address"; readonly name: ""; readonly internalType: "address"; }]; readonly name: "factory"; readonly inputs: readonly []; }, { readonly type: "function"; readonly stateMutability: "view"; readonly outputs: readonly []; readonly name: "kuramaV3SwapCallback"; readonly inputs: readonly [{ readonly type: "int256"; readonly name: "amount0Delta"; readonly internalType: "int256"; }, { readonly type: "int256"; readonly name: "amount1Delta"; readonly internalType: "int256"; }, { readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }, { readonly type: "uint160[]"; readonly name: "sqrtPriceX96AfterList"; readonly internalType: "uint160[]"; }, { readonly type: "uint32[]"; readonly name: "initializedTicksCrossedList"; readonly internalType: "uint32[]"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactInput"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }, { readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }, { readonly type: "uint160"; readonly name: "sqrtPriceX96After"; readonly internalType: "uint160"; }, { readonly type: "uint32"; readonly name: "initializedTicksCrossed"; readonly internalType: "uint32"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactInputSingle"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct IQuoter.QuoteExactInputSingleParams"; readonly components: readonly [{ readonly type: "address"; readonly name: "tokenIn"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenOut"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly internalType: "uint160"; }]; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint160[]"; readonly name: "sqrtPriceX96AfterList"; readonly internalType: "uint160[]"; }, { readonly type: "uint32[]"; readonly name: "initializedTicksCrossedList"; readonly internalType: "uint32[]"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactOutput"; readonly inputs: readonly [{ readonly type: "bytes"; readonly name: "path"; readonly internalType: "bytes"; }, { readonly type: "uint256"; readonly name: "amountOut"; readonly internalType: "uint256"; }]; }, { readonly type: "function"; readonly stateMutability: "nonpayable"; readonly outputs: readonly [{ readonly type: "uint256"; readonly name: "amountIn"; readonly internalType: "uint256"; }, { readonly type: "uint160"; readonly name: "sqrtPriceX96After"; readonly internalType: "uint160"; }, { readonly type: "uint32"; readonly name: "initializedTicksCrossed"; readonly internalType: "uint32"; }, { readonly type: "uint256"; readonly name: "gasEstimate"; readonly internalType: "uint256"; }]; readonly name: "quoteExactOutputSingle"; readonly inputs: readonly [{ readonly type: "tuple"; readonly name: "params"; readonly internalType: "struct IQuoter.QuoteExactOutputSingleParams"; readonly components: readonly [{ readonly type: "address"; readonly name: "tokenIn"; readonly internalType: "address"; }, { readonly type: "address"; readonly name: "tokenOut"; readonly internalType: "address"; }, { readonly type: "uint256"; readonly name: "amount"; readonly internalType: "uint256"; }, { readonly type: "uint24"; readonly name: "fee"; readonly internalType: "uint24"; }, { readonly type: "uint160"; readonly name: "sqrtPriceLimitX96"; readonly internalType: "uint160"; }]; }]; }]; functionName: string; args: { tokenIn: any; tokenOut: any; amount: bigint; fee: bigint; sqrtPriceLimitX96: string; }[]; }; }