import { DummyAddonDependency } from '../accessory/base.js'; import { TimeUnits } from '../model/enums.js'; import { Log } from '../tools/log.js'; export declare const SECOND = 1000; export declare const MINUTE: number; export declare const HOUR: number; export declare const DAY: number; export type DelayLogStrings = { milliseconds: string; seconds: string; minutes: string; hours: string; }; export declare function DelayLogStrings(milliseconds: string, seconds: string, minutes: string, hours: string): DelayLogStrings; export declare function getDelay(rawTime: number, units: TimeUnits, random?: boolean | undefined, logStrings?: DelayLogStrings | undefined, log?: Log | undefined, caller?: string | undefined): number; export declare class Timeout { protected readonly dependency: DummyAddonDependency; protected timeout?: NodeJS.Timeout; constructor(dependency: DummyAddonDependency); cancel(): void; teardown(): void; protected get caller(): string; protected get log(): Log; private get disableLogging(); protected reset(): void; protected getDelay(rawTime: number, units: TimeUnits, random?: boolean | undefined, logStrings?: DelayLogStrings | undefined): number; logIfDesired(message: string, ...parameters: (string | number)[]): void; }