UNPKG

homebridge-virtual-accessories

Version:
59 lines (58 loc) 1.63 kB
import { VirtualLogger } from './virtualLogger.js'; import { ZonedDateTime } from '@js-joda/core'; /** * Timer */ export declare class Timer { private readonly oneSecond; private accessoryName; private log; private timerIsResettable; private id; private defaultDuration; private updateIntervalMillis; private startTime; private isRunning; private runtime; private remainingDurationMillis; private logDebugCountdown; /** * Set duration in seconds */ constructor(accessoryName: string, log: VirtualLogger, timerIsResettable: boolean); constructor(accessoryName: string, log: VirtualLogger, timerIsResettable: boolean, duration: number); /** * Set duration/oneOffDuration in seconds */ start(callback: () => void): void; start(callback: () => void, oneOffDuration: number): void; start(callback: () => void, oneOffDuration: number, updateIntervalMillis: number): void; stop(): void; getStartTime(): ZonedDateTime; /** * Returns runtime in seconds */ getRuntime(): number; /** * Returns interval in milliseconds */ getUpdateIntervalMillis(): number; /** * Returns duration in seconds */ getDefaultDuration(): number; /** * Set duration in seconds */ setDefaultDuration(duration: number): void; /** * Returns remaining duration in seconds */ getRemainingDuration(): number; /** * Returns remaining duration in milliseconds */ getRemainingDurationMillis(): number; isTimerRunning(): boolean; debugCountdown(): void; }