import type { PlatformAccessory } from 'homebridge';
import type { RainBirdService } from 'rainbird';
import type { RainbirdPlatform } from '../platform.js';
import type { devicesConfig } from '../settings.js';
import { DeviceBase } from './DeviceBase.js';
/**
 * Platform 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 IrrigationSystem extends DeviceBase {
    readonly platform: RainbirdPlatform;
    private irrigation;
    private valves;
    private irrigationSystemUpdateInProgress;
    private doIrrigationSystemUpdate;
    constructor(platform: RainbirdPlatform, accessory: PlatformAccessory, device: devicesConfig, rainbird: RainBirdService);
    /**
     * Parse the device status from the RainbirdClient
     */
    parseStatus(): void;
    /**
     * Updates the status for each of the HomeKit Characteristics
     */
    updateHomeKitCharacteristics(): void;
    /**
     * Pushes the requested changes to the RainbirdClient
     */
    pushChanges(zone: number): Promise<void>;
    private setActive;
    private setValveActive;
    private setValveIsConfigured;
    private setValveSetDuration;
}
//# sourceMappingURL=IrrigationSystem.d.ts.map