import { Service, PlatformAccessory, CharacteristicValue, Nullable } from 'homebridge';
import { RinnaiTouchPlatform } from '../platform';
export declare abstract class AccessoryBase {
    protected readonly platform: RinnaiTouchPlatform;
    readonly platformAccessory: PlatformAccessory;
    protected service: Service;
    protected modeNames: {
        A: string;
        H: string;
        C: string;
        E: string;
        F: string;
    };
    constructor(platform: RinnaiTouchPlatform, platformAccessory: PlatformAccessory);
    abstract updateValues(): void;
    setAccessoryInformation(): void;
    setEventHandlers(): void;
    getCharacteristicValue(getValue: () => CharacteristicValue, characteristic: string): Nullable<CharacteristicValue> | Promise<Nullable<CharacteristicValue>>;
    setCharacteristicValue(setValue: (value: CharacteristicValue) => Promise<void>, characteristic: string, value: CharacteristicValue): Promise<void>;
}
//# sourceMappingURL=AccessoryBase.d.ts.map