import React from 'react';
import { Trans, useTranslation } from 'react-i18next';
import SelectTokenDrawer from 'src/components/SwapWidget/SelectTokenDrawer';
import { usePair } from 'src/data/Reserves';
import { useTotalSupply } from 'src/data/TotalSupply';
import { useTotalSupplyHook } from 'src/data/multiChainsHooks';
import { useLibrary } from 'src/hooks';
import { useAllTokens } from 'src/hooks/useAllTokens';
import { useApproveCallbackHook } from 'src/hooks/useApproveCallback';
import { ApprovalState } from 'src/hooks/useApproveCallback/constant';
import { useContract, useMulticallContract, usePairContract, usePngContract, useStakingContract, useTokenContract } from 'src/hooks/useContract';
import useDebounce from 'src/hooks/useDebounce';
import useENS from 'src/hooks/useENS';
import useInterval from 'src/hooks/useInterval';
import useIsWindowVisible from 'src/hooks/useIsWindowVisible';
import { useOnClickOutside } from 'src/hooks/useOnClickOutside';
import useParsedQueryString from 'src/hooks/useParsedQueryString';
import { useUSDCPriceHook } from 'src/hooks/useUSDCPrice';
import { useUSDCPrice } from 'src/hooks/useUSDCPrice/evm';
import { useApplicationState } from 'src/state/papplication/atom';
import { useCoinGeckoTokenData } from 'src/state/pcoingecko/hooks';
import { usePangoChefInfosHook } from 'src/state/ppangoChef/hooks';
import { useMinichefStakingInfosHook } from 'src/state/pstake/hooks';
import { useDerivedStakeInfo, useMinichefPools } from 'src/state/pstake/hooks/common';
import { useMinichefStakingInfos } from 'src/state/pstake/hooks/evm';
import { DoubleSideStaking, DoubleSideStakingInfo, MinichefStakingInfo, PoolType } from 'src/state/pstake/types';
import { calculateTotalStakedAmountInAvax, calculateTotalStakedAmountInAvaxFromPng, fetchChunkedAprs } from 'src/state/pstake/utils';
import { useGelatoLimitOrdersListHook } from 'src/state/pswap/hooks';
import { LimitOrderInfo, useDerivedSwapInfo, useGelatoLimitOrderDetail, useSwapActionHandlers } from 'src/state/pswap/hooks/common';
import { useAllTransactions, useAllTransactionsClearer } from 'src/state/ptransactions/hooks';
import { useAccountBalanceHook, useTokenBalanceHook } from 'src/state/pwallet/hooks';
import { useGetUserLP, useTokenBalance } from 'src/state/pwallet/hooks/evm';
import { existSarContract, getEtherscanLink, shortenAddress, shortenAddressMapping } from 'src/utils';
import chunkArray from 'src/utils/chunkArray';
import listVersionLabel from 'src/utils/listVersionLabel';
import { nearFn } from 'src/utils/near';
import { parseENSAddress } from 'src/utils/parseENSAddress';
import { splitQuery } from 'src/utils/query';
import uriToHttp from 'src/utils/uriToHttp';
import { unwrappedToken, wrappedCurrency, wrappedCurrencyAmount } from 'src/utils/wrappedCurrency';
import { MixPanelEvents, useMixpanel } from './hooks/mixpanel';
import { useActiveWeb3React } from './hooks/useConnector';
import i18n, { availableLanguages } from './i18n';
import { PangoChefInfo } from './state/ppangoChef/types';
import { useSarPositionsHook } from './state/psarstake/hooks';
import { useSarStakeInfo } from './state/psarstake/hooks/evm';
import { Position } from './state/psarstake/types';
interface Config {
    mixpanelToken?: string;
    hasuraApiKey?: string;
}
export declare function PangolinProvider({ chainId, library, children, account, theme, config, }: {
    chainId: number | undefined;
    library: any | undefined;
    account: string | undefined;
    children?: React.ReactNode;
    theme?: any;
    config?: Config;
}): JSX.Element;
export * from './constants';
export { ROUTER_ADDRESS, MINICHEF_ADDRESS } from './constants/address';
export { TIMEFRAME, SwapTypes } from './constants/swap';
export * from './connectors';
export * from './components';
export * from './state/papplication/hooks';
export { ApplicationModal } from './state/papplication/atom';
export * as Tokens from './constants/tokens';
export * from '@gelatonetwork/limit-orders-react';
export { AvalancheCoreWallet as PangolinAvalancheCoreWallet, BitKeepWallet as PangolinBitKeepWallet, InjectedWallet as PangolinInjectedWallet, TalismanWallet as PangolinTalismanWallet, } from './wallet/classes/injected';
export { HashPackWallet as PangolinHashPackWallet, NearWallet as PangolinNearWallet, XDefiWallet as PangolinXDefiWallet, } from './wallet/classes/nonInjected';
export { CoinbaseWallet as PangolinCoinbaseWallet, GnosisSafeWallet as PangolinGnosisSafeWallet, WalletConnectWallet as PangolinWalletConnectWallet, } from './wallet/classes/others';
export { Wallet as PangolinWallet, WalletEvents as PangolinWalletEvents, walletEvent as pangolinWalletEvent, } from './wallet/classes/wallet';
export type { PangolinConnector, activeFunctionType } from './wallet/classes/wallet';
export * from './wallet';
export type { LimitOrderInfo, MinichefStakingInfo, DoubleSideStakingInfo, DoubleSideStaking, Position, PangoChefInfo };
export { SelectTokenDrawer };
export { useGelatoLimitOrderDetail, useGelatoLimitOrdersListHook };
export { useSarStakeInfo, useSarPositionsHook, useDerivedSwapInfo, useUSDCPrice, useAllTokens, usePair, useSwapActionHandlers, useLibrary, useAllTransactions, useAllTransactionsClearer, useAccountBalanceHook, useTranslation, useMinichefStakingInfosHook, useGetUserLP, useMinichefStakingInfos, useDerivedStakeInfo, useMinichefPools, useTotalSupplyHook, useTotalSupply, useTokenBalanceHook, useTokenBalance, usePangoChefInfosHook, useUSDCPriceHook, useParsedQueryString, useMixpanel, useCoinGeckoTokenData, useDebounce, useOnClickOutside, useInterval, useIsWindowVisible, useENS, usePngContract, useStakingContract, useMulticallContract, usePairContract, useTokenContract, useContract, useApproveCallbackHook, useApplicationState, useActiveWeb3React, };
export { wrappedCurrency, wrappedCurrencyAmount, unwrappedToken, nearFn, i18n, availableLanguages, Trans, PoolType, fetchChunkedAprs, calculateTotalStakedAmountInAvax, calculateTotalStakedAmountInAvaxFromPng, existSarContract, getEtherscanLink, shortenAddress, shortenAddressMapping, MixPanelEvents, chunkArray, uriToHttp, parseENSAddress, listVersionLabel, splitQuery, ApprovalState as TransactionApprovalState, };
