import { PlatformAccessory, CharacteristicValue } from 'homebridge';
import { Device } from 'smart-bus';
import { HDLBusproHomebridge } from './HDLPlatform';
import { ABCDevice } from './ABC';
export declare class RelayRGB implements ABCDevice {
    private readonly platform;
    private readonly accessory;
    private readonly name;
    private readonly controller;
    private readonly device;
    private readonly redChannel;
    private readonly greenChannel;
    private readonly blueChannel;
    private service;
    private RGBState;
    private lastColorState;
    private listener;
    private lastLevels;
    private ignoreExternalUpdates;
    private updateTimeout;
    private isRestoringState;
    constructor(platform: HDLBusproHomebridge, accessory: PlatformAccessory, name: string, controller: Device, device: Device, redChannel: number, greenChannel: number, blueChannel: number);
    getOn(): Promise<CharacteristicValue>;
    setOn(value: CharacteristicValue): Promise<void>;
    getHue(): Promise<CharacteristicValue>;
    setHue(value: CharacteristicValue): Promise<void>;
    getSaturation(): Promise<CharacteristicValue>;
    setSaturation(value: CharacteristicValue): Promise<void>;
    getBrightness(): Promise<CharacteristicValue>;
    setBrightness(value: CharacteristicValue): Promise<void>;
    private updateColorState;
    private debouncedUpdate;
    private updateRGBLights;
    private sendAtomicCommand;
    private hsvToRgb;
    private listenForExternalUpdates;
    private handleExternalUpdate;
    private rgbToHsv;
}
//# sourceMappingURL=RelayRGB.d.ts.map