import { Service, Characteristic, Logging, PrimitiveTypes } from 'homebridge';
import RachioPlatform from '../rachioplatform.js';
import RachioAPI from '../rachioapi.js';
import type { Controller, Schedule } from '../settings.js';
export default class switches {
    private readonly platform;
    private readonly log;
    private rachioapi;
    readonly Service: typeof Service;
    readonly Characteristic: typeof Characteristic;
    constructor(platform: RachioPlatform, log?: Logging, rachioapi?: RachioAPI);
    createScheduleSwitchService(schedule: Schedule): Service;
    createSwitchService(switchName: string, uuid: string): Service;
    configureSwitchService(device: Controller, switchService: Service): void;
    setSwitchValue(device: Controller, switchService: Service, value: string | number | boolean | PrimitiveTypes[] | {
        [key: string]: PrimitiveTypes;
    }): Promise<void>;
    getSwitchValue(switchService: Service): import("homebridge").Nullable<import("homebridge").CharacteristicValue>;
}
