import { ethers } from 'ethers';
import { ERC20Token } from '../../types';
import { IHinkal } from '../../data-structures/Hinkal/IHinkal';
interface PoolAndFee {
    poolAddress: string;
    fee: number;
    token1Balance: bigint;
}
export declare const searchPoolAndFee: (token1Contract: ethers.Contract, factory: ethers.Contract, token0Address: string, token1Address: string) => Promise<PoolAndFee>;
export declare const getUniswapPriceHelper: (hinkal: IHinkal, chainId: number, token0: ERC20Token, token1: ERC20Token, fee: number, inSwapAmount: bigint) => Promise<bigint>;
export declare const getUniswapFee: (hinkal: IHinkal, chainId: number, token0: ERC20Token, token1: ERC20Token) => Promise<number>;
export declare const getUniswapPrice: (hinkal: IHinkal, chainId: number, inSwapAmount: string, inSwapToken: ERC20Token, outSwapToken: ERC20Token) => Promise<{
    tokenPrice: bigint;
    poolFee: string;
}>;
export {};
