import { Types } from "mongoose"; export interface QueueDepthsType { incident: number; status: number; vehicle: number; total: number; } export interface TCSendHealthType { lastSuccessfulIncidentSend?: Date; lastSuccessfulUnitStatusSend?: Date; sendFailuresDelta: number; lastSendError: string; } export interface WriteBackHealthType { attemptsDelta: number; failuresDelta: number; lastSuccessfulWriteBack?: Date; lastError: string; } export interface SyncHealthType { lastCacheRefresh?: Date; cacheAgeSeconds: number; consecutiveEmptyPolls: number; lastPollChanges: number; incidentCacheGrowthDelta: number; } export interface StatusBeaconType { _id: Types.ObjectId; departmentId: string; integration: string; interfaceStartTime: Date; keepAliveIntervalSecs: number; healthState: string; triggerReason: string; consecutiveFailures: number; consecutiveSuccesses: number; totalFailuresSinceLastHealthy: number; outageStartTime?: Date; pollCycle: number; lastPollMs: number; activeIncidents: number; activeUnits: number; incidentsDelta: number; unitStatusDelta: number; queueDepths: QueueDepthsType; queueAges: Record; queueDroppedDelta: number; tokenAgeSecs?: number; tokenExpiresAt?: Date; tCSend: TCSendHealthType; writeBack: WriteBackHealthType; sync: SyncHealthType; channels: Record; pollers: Record; auth: Record; restartPoll: Record; clockSync: Record; debugPushActive: boolean; lastConfigSave?: Date; lastConfigSaveFile: string; lastError: string; interfaceVersion: string; cadVersion: string; unifiedVersion: string; beaconVersion: string; createdAt: Date; updatedAt: Date; } export interface StatusBeaconTransitionType { _id: Types.ObjectId; departmentId: string; integration: string; triggerReason: string; healthState: string; consecutiveFailures: number; totalFailuresSinceLastHealthy: number; lastError: string; createdAt: Date; updatedAt: Date; } //# sourceMappingURL=status-beacon.d.ts.map