/// import { GenericDevice, ConfigLoader, message } from '..'; import { Scenario } from './scenario'; import { CronJob } from 'cron'; export declare abstract class Trigger { doc: ConfigLoader; scenario: Scenario; handler: (m?: message) => void; reason: string; constructor(doc: ConfigLoader, scenario: Scenario); abstract activate(callback: (err: Error, trigger: Trigger) => void): void; abstract deactivate(callback: (err: Error, trigger: Trigger) => void): void; } export declare class TimeTrigger extends Trigger { when: string; cronJob: CronJob; timeout: NodeJS.Timeout; atHandler: (msg: message) => void; constructor(doc: ConfigLoader, scenario: Scenario, when: string); static dateTime(dateString: string): number; activate(callback?: (err: Error, trigger: Trigger) => void): void; deactivate(callback?: (err: Error, trigger: Trigger) => void): void; } export declare class StateTrigger extends Trigger { device: GenericDevice; deviceName: string; constructor(doc: ConfigLoader, scenario: Scenario, device: string); activate(callback?: (err: Error, trigger: Trigger) => void): void; deactivate(callback?: (err: Error, trigger: Trigger) => void): void; }