import { ChainId } from '@envanik/sdk';
import { useDummyHook } from 'src/hooks/multiChainsHooks';
import { useTokenAllowance } from './Allowances';
import { useNearPairs, usePairs, usePairsContract, usePairsViaSubgraph } from './Reserves';
import { useEvmPairTotalSupply, useHederaPairTotalSupply, useHederaTotalSupply, useNearPairTotalSupply, useNearTotalSupply, usePairTotalSupplyViaSubgraph, useTotalSupply } from './TotalSupply';
export declare type UsePairsHookType = {
    [chainId in ChainId]: typeof usePairsContract | typeof useNearPairs | typeof usePairsViaSubgraph | typeof usePairs;
};
export declare const usePairsHook: UsePairsHookType;
export declare type UseTokenAllowanceHookType = {
    [chainId in ChainId]: typeof useTokenAllowance | typeof useDummyHook;
};
export declare const useTokenAllowanceHook: UseTokenAllowanceHookType;
export declare type UseTotalSupplyHookType = {
    [chainId in ChainId]: typeof useTotalSupply | typeof useNearTotalSupply | typeof useDummyHook | typeof useHederaTotalSupply;
};
/**
 * this hook is used to fetch total supply of given token based on chain
 * @param pair pair object
 * @returns total supply in form of TokenAmount or undefined
 */
export declare const useTotalSupplyHook: UseTotalSupplyHookType;
export declare type UsePairTotalSupplyHookType = {
    [chainId in ChainId]: typeof useEvmPairTotalSupply | typeof useNearPairTotalSupply | typeof usePairTotalSupplyViaSubgraph | typeof useHederaPairTotalSupply | typeof useDummyHook;
};
/**
 * this hook is used to fetch total supply of given pair based on chain
 * @param pair pair object
 * @returns total supply in form of TokenAmount or undefined
 */
export declare const usePairTotalSupplyHook: UsePairTotalSupplyHookType;
