import { Currency, ElixirPool, FeeAmount, Token, TokenAmount } from '@envanik/sdk';
import { BigNumber } from 'ethers';
import { TokenReturnType } from 'src/hooks/tokens/constant';
import { FeeTierDistribution, PoolState, TokenId, UsePositionTokenURIResult } from './types';
export declare function usePoolsViaContract(poolKeys: [Currency | undefined, Currency | undefined, FeeAmount | undefined][]): [PoolState, ElixirPool | null][];
export declare function usePoolsViaSubgraph(poolKeys: [Currency | undefined, Currency | undefined, FeeAmount | undefined][]): [PoolState, ElixirPool | null][];
export declare function useAllPoolsViaSubgraph(): {
    isLoading: boolean;
    allPools: [PoolState, ElixirPool | null][];
};
export declare function useFeeTierDistribution(currencyA: Currency | undefined, currencyB: Currency | undefined): FeeTierDistribution;
export declare function usePoolTVL(token0: Token | undefined, token1: Token | undefined): {
    isLoading: boolean;
    error: any;
    distributions?: undefined;
} | {
    isLoading: boolean;
    error: any;
    distributions: Record<FeeAmount, number | undefined>;
};
export declare function useUnderlyingTokens(token0?: TokenReturnType, token1?: TokenReturnType, fee?: FeeAmount): [TokenAmount | undefined, TokenAmount | undefined];
export declare function useConcLiqPositionFees(pool?: ElixirPool, tokenId?: BigNumber): [TokenAmount, TokenAmount] | [undefined, undefined];
export declare function usePositionTokenURI(tokenId: TokenId | undefined): UsePositionTokenURIResult;
