/** * In-memory TTL cache decorator for cruise adapters. * * Wraps a `CruiseAdapter` so that `fetch*` reads (cruise/sailing/ship/itinerary/ * pricing detail) are cached for a short window keyed on the source ref. * Listings always go live. The low-level `createBooking` provider SPI also * passes through uncached, but has no route, Tool, service, or application * caller; a future durable admitted command must own any use of it. * * Templates opt in by wrapping their adapter at registration time: * * registerCruiseAdapter(memoizeCruiseAdapter(createConnectCruiseAdapter(...), { ttlMs: 60_000 })) * * The cache is process-local. For multi-instance deployments, prefer Connect's * own caching (it sits closer to the source replica) over wrapping at this layer. */ import type { MemoizeOptions } from "@voyant-travel/cruises-contracts"; import type { CruiseAdapter } from "./index.js"; export type { MemoizeOptions }; export declare function memoizeCruiseAdapter(adapter: CruiseAdapter, options?: MemoizeOptions): CruiseAdapter;