import type { Logging } from 'homebridge'; /** * Centralised owner of all timer and interval handles used by the security * system. Handlers call set/clear methods here rather than mutating the shared * SystemState directly, giving a single place where timer lifecycle is managed. */ export declare class TimerManager { private readonly log; private armTimer; private pauseTimer; private triggerTimer; private doubleKnockTimer; private resetTimer; private trippedInterval; private triggeredInterval; constructor(log: Logging); setArmTimer(ms: number, cb: () => void): void; clearArmTimer(): void; setTriggerTimer(ms: number, cb: () => void): void; clearTriggerTimer(): void; isTriggerRunning(): boolean; setPauseTimer(ms: number, cb: () => void): void; clearPauseTimer(): void; setDoubleKnockTimer(ms: number, cb: () => void): void; clearDoubleKnockTimer(): void; setResetTimer(ms: number, cb: () => void): void; clearResetTimer(): void; setTrippedInterval(ms: number, cb: () => void): void; clearTrippedInterval(): void; setTriggeredInterval(ms: number, cb: () => void): void; clearTriggeredInterval(): void; /** Clears every active timer and interval. */ clearAll(): void; }