import { Execution, State } from '../state.js';
import { Characteristic, type CharacteristicValue, PlatformAccessory, Service, WithUUID } from 'homebridge';
import { HueSyncBoxPlatform } from '../platform.js';
export declare abstract class SyncBoxDevice {
    protected readonly platform: HueSyncBoxPlatform;
    readonly accessory: PlatformAccessory;
    protected state: State;
    protected service: Service;
    protected constructor(platform: HueSyncBoxPlatform, accessory: PlatformAccessory, state: State);
    protected abstract getServiceType(): any;
    protected getServiceSubType(): string | undefined;
    protected getServiceName(): string | undefined;
    protected updateMode(currentVal: CharacteristicValue | null, newValue: CharacteristicValue): void;
    protected updateExecution(execution: Partial<Execution>): void;
    protected setBrightness(value: CharacteristicValue): void;
    update(state: State | null): void;
    protected shouldBeOn(): boolean;
    protected getSuffix(): string;
    protected getPowerCharacteristic(): WithUUID<new () => Characteristic>;
    protected handlePowerCharacteristicSet(value: CharacteristicValue): void;
}
//# sourceMappingURL=base.d.ts.map