import { IDict, IPoolData } from "../interfaces.js"; import { BigNumberish, Numeric } from "ethers"; import { type Curve } from "../curve.js"; export declare const formatUnits: (value: BigNumberish, unit?: string | Numeric) => string; export declare const parseUnits: (value: string, unit?: string | Numeric) => bigint; export declare const lowerCasePoolDataAddresses: (poolsData: IDict) => IDict; export declare const extractDecimals: (poolsData: IDict) => IDict; export declare function extractGauges(this: Curve, poolsData: IDict): string[]; export declare const lowerCaseValues: (dict: IDict) => IDict; export declare const lowerCaseKeys: (dict: IDict) => IDict; /** * Memoizes a method of an object by binding it to this when needed. * The memoized method will cache the result for 5 minutes. * @param obj The object to which the method belongs. * @param name The name of the method to memoize. It must be unique within the object. * @param method The method to memoize. It must be a function that returns a Promise. * @returns The memoized method. */ export declare const memoizeMethod: Promise>(obj: Obj, name: string, method: Method) => Method;