import { CosmosChainData, DenomTraceData } from './types'; import { IAsyncStorage } from './storage'; /** * The `DenomFetcher` class provides methods to fetch and cache denom trace data. * It works with IBC denom traces, caching results for efficiency. */ export declare class DenomFetcher { private static cache; private static allDenomTraceData; /** * Checks if the cache has been initialized. * @returns `true` if the cache is initialized, `false` otherwise. */ static isCacheInitialized(): boolean; /** * Initializes the cache for storing denom trace data. * @param storage - An implementation of `IAsyncStorage` interface ({@link IAsyncStorage}). */ static initializeCache(storage: IAsyncStorage): void; static loadAllDenomTraceData(): Promise; /** * Retrieves the denom trace data for a given denom and chain. * It initializes the cache if not already initialized and caches the fetched data. * @param denom - The denomination string to fetch the trace for. * @param chain - The chain data object ({@link CosmosChainData}). * @returns A Promise that resolves to the denom trace data ({@link DenomTraceData}), * or throws an error if the trace cannot be fetched. */ static getTrace(denom: string, chain: CosmosChainData): Promise; }