import { PlatformAccessory } from 'homebridge';
import { PoolControllerHomebridgePlatform } from './platform.js';
import { RelayState } from './poolControllerClient.js';
export interface PoolSnapshot {
    relays: RelayState[];
    schedulerEnabled: boolean;
}
/**
 * Single HomeKit accessory exposing relay switches, optional scheduler switch,
 * and optional load-fault contact sensors as multiple services.
 */
export declare class PoolControllerAccessory {
    private readonly platform;
    private readonly accessory;
    private readonly relayIds;
    private readonly relayServices;
    private readonly loadServices;
    private schedulerService?;
    private snapshot;
    constructor(platform: PoolControllerHomebridgePlatform, accessory: PlatformAccessory, initialSnapshot: PoolSnapshot, relayIds: number[]);
    applySnapshot(snapshot: PoolSnapshot): void;
    private ensureRelaySwitch;
    private ensureSchedulerSwitch;
    private syncLoadSensors;
    private removeServiceBySubtype;
    private getRelayOn;
    private setRelayOn;
    private setSchedulerOn;
}
