import { JsonRpcProvider } from '@ethersproject/providers';
import { SupportedChainId, AlgebraVault } from '../types';
import { VaultsByTokensQueryData, VaultWithPoolQueryData } from '../types/vaultQueryData';
export declare function getAlgebraVaultInfo(chainId: SupportedChainId, vaultAddress: string, jsonProvider?: JsonRpcProvider): Promise<AlgebraVault>;
export interface ExtendedAlgebraVault extends AlgebraVault {
    apr: number;
    amount0: bigint;
    amount1: bigint;
}
export declare function getExtendedAlgebraVault(vaultAddress: string, chainId: SupportedChainId, jsonProvider: JsonRpcProvider, token0Decimals: number, token1Decimals: number): Promise<ExtendedAlgebraVault>;
export declare function getVaultsByTokens(chainId: SupportedChainId, depositTokenAddress: string, pairedTokenAddress: string): Promise<VaultsByTokensQueryData['almVaults']>;
export declare function getVaultsByPool(poolAddress: string, chainId: SupportedChainId): Promise<string[]>;
export declare function getAllVaults(chainId: SupportedChainId): Promise<VaultWithPoolQueryData[]>;
export declare function validateVaultData(vaultAddress: string, jsonProvider: JsonRpcProvider): Promise<{
    chainId: SupportedChainId;
    vault: AlgebraVault;
}>;
export declare function getChainByProvider(jsonProvider: JsonRpcProvider): Promise<{
    chainId: SupportedChainId;
}>;
