/** * App version resolution and distributed cache management. * * The engine caches the deployed app version locally to avoid * hitting the store on every message. During hot-deploys the cache * switches to `nocache` mode until the target version appears, * then resumes caching. */ import { ILogger } from '../logger'; import { StoreService } from '../store'; import { AppVID } from '../../types/app'; import { CacheMode } from '../../types/cache'; import { HotMeshApps } from '../../types/hotmesh'; import { ProviderClient, ProviderTransaction } from '../../types/provider'; interface VersionContext { appId: string; guid: string; apps: HotMeshApps | null; cacheMode: CacheMode; untilVersion: string | null; store: StoreService; logger: ILogger; } /** * Resolves the distributed executable version, retrying with a delay * to allow deployment race conditions to settle. */ export declare function fetchAndVerifyVID(instance: VersionContext, vid: AppVID, count?: number): Promise; export declare function getVID(instance: VersionContext, vid?: AppVID): Promise; export declare function setCacheMode(instance: VersionContext, cacheMode: CacheMode, untilVersion: string): void; export {};