/** * Request de-duplication for configuration reads (api catalog metadata, * promoted methods, ...). Config data changes rarely, so the same URL should be * fetched at most once per session and shared by every consumer. * * axios-hooks already keeps a module level LRU of *completed* responses, but it * has no in-flight de-duplication: N components mounting at the same time with * the same request config all miss the cache and all issue a request. The * wrapper installed here closes that gap without changing behaviour for * anything that does not opt in. */ /** * Marker added to an axios config by `useAxiosGet` when the call site opted in * to caching. Only flagged requests are de-duplicated. */ export declare const DEDUPE_CONFIG_FLAG = "udpDedupeConfigRequest"; /** * Installs the de-duplicating request function on axios-hooks. Idempotent, and * a pass-through for every request that is not flagged for de-duplication. */ export declare const enableConfigRequestDedupe: () => void; /** * Session cache + in-flight guard for config reads that do not go through * axios-hooks (POST based catalog lookups, for instance). * @template T * @param {string} key - Stable identity of the read (url or id tuple). * @param {() => Promise} request - Issues the request on a cache miss. * @returns {Promise} */ export declare const fetchConfigOnce: (key: string, request: () => Promise) => Promise; //# sourceMappingURL=configRequestDedupe.d.ts.map