/// <reference types="react" />
import { TransactionResponse } from '@ethersproject/providers';
import { ChainId, CurrencyAmount, Pair, Token, TokenAmount } from '@envanik/sdk';
import { AddLiquidityProps, AttemptToApproveProps, RemoveLiquidityProps } from '../types';
/**
 * Returns a map of the given addresses to their eventually consistent ETH balances.
 */
export declare function useETHBalances(chainId: ChainId, uncheckedAddresses?: (string | undefined)[]): {
    [address: string]: CurrencyAmount | undefined;
};
export declare function useTokenBalances(address?: string, tokens?: (Token | undefined)[]): [{
    [tokenAddress: string]: TokenAmount | undefined;
}, boolean];
export declare function useTokenBalance(account?: string, token?: Token): TokenAmount | undefined;
/**
 * this hook is used to fetch pair balance of given EVM pair
 * @param pair pair object
 * @returns pair balance in form of TokenAmount or undefined
 */
export declare function useEVMPairBalance(account?: string, pair?: Pair): TokenAmount | undefined;
export declare function useAddLiquidity(): (data: AddLiquidityProps) => Promise<TransactionResponse | undefined>;
export declare function useRemoveLiquidity(pair?: Pair | null | undefined): {
    removeLiquidity: (data: RemoveLiquidityProps) => Promise<TransactionResponse | undefined>;
    onAttemptToApprove: (data1: AttemptToApproveProps) => Promise<void>;
    signatureData: {
        v: number;
        r: string;
        s: string;
        deadline: number;
    } | null;
    setSignatureData: import("react").Dispatch<import("react").SetStateAction<{
        v: number;
        r: string;
        s: string;
        deadline: number;
    } | null>>;
};
export declare function useGetUserLP(): {
    v2IsLoading: boolean;
    allV2PairsWithLiquidity: Pair[];
    allPairs: Pair[];
};
