import type { RouterHealthRecord, RouterHealthStore } from "./types.js"; export type HealthTransition = "cas-exhausted" | "cooling" | "deduplicated" | "ignored-stale" | "recovered"; export interface HealthProbeLease { key: string; probingUntil: number; source?: "local"; } export declare class RouterHealthUnavailableError extends Error { readonly code = "health_unavailable"; readonly logicalId: string; constructor(logicalId: string); } export declare function cloneHealthRecord(value: RouterHealthRecord): RouterHealthRecord; export declare function resolveCasResult(result: unknown, success: T): T | "cas-exhausted" | undefined; export declare class MemoryRouterHealthStore implements RouterHealthStore { private readonly records; private readonly maxRecords; constructor(maxRecords?: number); delete(key: string): void; compareAndSet(key: string, expectedVersion: number | undefined, value: RouterHealthRecord): boolean; entries(): IterableIterator<[string, RouterHealthRecord]>; get(key: string): RouterHealthRecord | undefined; set(key: string, value: RouterHealthRecord): void; private setRecord; }