import type { SubscriberRuntimeDescriptor } from "@voyant-travel/core"; import type { KVStore } from "@voyant-travel/utils/cache"; /** Long fallback bound; normal freshness comes from exact event invalidation. */ export declare const DEPARTURES_DOC_TTL_SECONDS: number; export declare function departuresDocPrefix(productId: string): string; export declare function departuresDocKey(productId: string, query: Record): string; /** Best-effort read-through cache; failures degrade to the live query. */ export declare function readThroughDepartures(c: { env?: { CACHE?: KVStore; }; }, key: string, compute: () => Promise): Promise; /** Delete every query variant for one product. */ export declare function invalidateDeparturesReadModel(kv: KVStore, productId: string): Promise; export declare const STOREFRONT_AVAILABILITY_READ_MODEL_SUBSCRIBER_ID = "@voyant-travel/storefront#subscriber.invalidate-departures-on-availability-change"; export declare function createStorefrontAvailabilityReadModelInvalidationSubscriber(logger?: Pick): SubscriberRuntimeDescriptor; export declare const storefrontAvailabilityReadModelInvalidationSubscriber: SubscriberRuntimeDescriptor;