import { JsonRpcProvider } from '@ethersproject/providers';
import { BigNumber } from 'ethers';
import { SupportedDex, UserAmounts, UserAmountsBN, UserAmountsInVault, UserAmountsInVaultBN, UserBalanceInVault, UserBalanceInVaultBN } from '../types';
import { UserBalancesQueryData } from '../types/vaultQueryData';
export declare function getUserBalance(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<string>;
export declare function getUserBalance(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<BigNumber>;
export declare function sendUserBalancesQueryRequest(url: string, accountAddress: string, query: string): Promise<UserBalancesQueryData['vaultShares']>;
export declare function getAllUserBalances(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<UserBalanceInVault[]>;
export declare function getAllUserBalances(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<UserBalanceInVaultBN[]>;
export declare function getUserAmounts(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, token0Decimals: number, token1Decimals: number, raw: false): Promise<UserAmounts>;
export declare function getUserAmounts(accountAddress: string, vaultAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, token0Decimals: number, token1Decimals: number, raw: true): Promise<UserAmountsBN>;
export declare function getAllUserAmounts(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex): Promise<UserAmountsInVault[]>;
export declare function getAllUserAmounts(accountAddress: string, jsonProvider: JsonRpcProvider, dex: SupportedDex, raw: true): Promise<UserAmountsInVaultBN[]>;
