import { ChainId } from '@dodoex/api';
import { BigintIsh, Currency, Token } from '../sdks/sdk-core';
import { FeeAmount, Pool } from '../sdks/v3-sdk';
export declare class PoolCache {
    private static MAX_ENTRIES;
    private static pools;
    private static addresses;
    static getPoolAddress(factoryAddress: string, tokenA: Token, tokenB: Token, fee: FeeAmount, chainId: ChainId): string;
    static getPool(tokenA: Token, tokenB: Token, fee: FeeAmount, sqrtPriceX96: BigintIsh, liquidity: BigintIsh, tick: number): Pool;
}
export declare enum PoolState {
    LOADING = 0,
    NOT_EXISTS = 1,
    EXISTS = 2,
    INVALID = 3
}
export declare function usePools(chainId: number | undefined, poolKeys: [
    Currency | undefined,
    Currency | undefined,
    FeeAmount | undefined
][]): [PoolState, Pool | null][];
export declare function usePool(currencyA: Currency | undefined, currencyB: Currency | undefined, feeAmount: FeeAmount | undefined): [PoolState, Pool | null];
