import type { ILogger } from "../../sdk/index.js"; /** * Process-wide cache for axios JSON responses. * * Multiple plugin instances (one per SDK / network) share the same * cached HTTP response so that only **one** request is made per TTL window * regardless of how many SDK instances exist. * * Concurrent callers that arrive while a fetch is already in flight * are de-duplicated — they all await the same promise. */ export declare class AxiosCache { #private; private constructor(); /** * Returns a shared cache instance for the given URL. * The same instance is reused across all callers with identical URL. */ static get(url: string, ttlMs: number, logger?: ILogger, getLogMeta?: (data: T) => string): AxiosCache; /** * Returns cached data if fresh, otherwise fetches from the network. * Concurrent calls are de-duplicated. */ fetch(): Promise; /** Evicts all cached entries. Mainly useful for tests. */ static clearAll(): void; }