import { Interface, Result } from '@ethersproject/abi'; import { BigNumber } from '@ethersproject/bignumber'; import { SwapSide } from '../../constants'; import { SubgraphMainToken, SubgraphPoolAddressDictionary, SubgraphPoolBase, SubgraphToken } from './types'; interface BalancerPathHop { pool: SubgraphPoolBase; tokenIn: SubgraphToken; tokenOut: SubgraphToken; } /** * Parses a fixed-point decimal string into a BigNumber. If we do not have enough decimals to express the number, we truncate it. * @param value * @param decimals * @returns BigNumber */ export declare function safeParseFixed(value: string, decimals?: number): BigNumber; export declare const isSameAddress: (address1: string, address2: string) => boolean; export declare function getTokenScalingFactor(tokenDecimals: number): bigint; export declare function decodeThrowError(contractInterface: Interface, functionName: string, resultEntry: { success: boolean; returnData: any; }, poolAddress: string): Result; export declare function poolGetPathForTokenInOut(tokenInAddress: string, tokenOutAddress: string, pool: SubgraphPoolBase, poolsMap: SubgraphPoolAddressDictionary, side: SwapSide): BalancerPathHop[]; export declare function getAllPoolsUsedInPaths(from: string, to: string, allowedPools: SubgraphPoolBase[], poolAddressMap: SubgraphPoolAddressDictionary, side: SwapSide): SubgraphPoolBase[]; export declare function poolGetMainTokens(pool: Omit, poolsMap: SubgraphPoolAddressDictionary): SubgraphMainToken[]; export {};