import { type HealthProbeLease } from "./health-store.js"; import type { RouterHealthRecord, RouterHealthStore } from "./types.js"; export declare abstract class CandidateHealthStoreContext { protected abstract clockNow(): number; protected abstract read(key: string, decisionNow?: number): RouterHealthRecord | undefined; protected readonly now: () => number; protected readonly namespace: string; protected readonly pruneStaleRecords: boolean; protected readonly sharedNamespace: string; protected readonly store: RouterHealthStore; protected readonly knownKeys: Set; protected readonly claimedProbes: Map; protected readonly localWriteFailures: Map; protected readonly inactiveLocalWriteFailures: Map; protected readonly localProbeExpirations: Array<{ deadline: number; key: string; }>; protected lastValidNow: number | undefined; constructor(namespace: string, store?: RouterHealthStore, now?: () => number, sharedNamespace?: string); protected keys(index: number, healthKey?: string, family?: string): string[]; protected recordForKey(key: string, now: number): RouterHealthRecord | undefined; protected deleteLocalWriteFailure(key: string): void; protected setLocalWriteFailure(key: string, record: RouterHealthRecord, decisionNow?: number): void; protected promoteExpiredLocalProbes(now: number): void; protected compactLocalProbeExpirations(): void; }