import { Logging, PlatformAccessory, Service, Characteristic } from 'homebridge';
import { IDevice } from '../devices/iDevice';
import { ConnectMyPoolHomeAutomationHomebridgePlatform } from '../platform';
import { PoolStatus } from '../status';
/**
 * Connect My Pool Base Accessory
 * An instance of this class is created for each accessory your platform registers
 * Each accessory may expose multiple services of different service types.
 */
export declare class Accessory {
    readonly platform: ConnectMyPoolHomeAutomationHomebridgePlatform;
    readonly accessory: PlatformAccessory;
    readonly log: Logging;
    readonly Characteristic: typeof Characteristic;
    readonly service: typeof Service;
    services: Service[];
    constructor(platform: ConnectMyPoolHomeAutomationHomebridgePlatform, accessory: PlatformAccessory, device: IDevice, status: PoolStatus);
    get device(): IDevice;
    get poolStatus(): PoolStatus;
    get deviceName(): string;
    get deviceType(): string;
    get homekitAccessory(): PlatformAccessory<import("homebridge").UnknownContext>;
    get SerialNumber(): string;
    protected debugLog(message: string, ...parameters: any[]): void;
    protected setUpServices(): void;
    protected updatePlatform(): void;
    setConfigStatus(status: PoolStatus): void;
    updateStatus(status: PoolStatus): Promise<void>;
}
//# sourceMappingURL=accessory.d.ts.map