import { DynamicPlatformPlugin, Logging, PlatformAccessory, Service, API } from 'homebridge'; import { OtoTransportKind } from './transport'; interface OtoPlatformConfig { platform: string; name: string; transport?: OtoTransportKind; email?: string; password?: string; wateringQuantity?: number; wateringQuantities?: Record; firebaseApiKey?: string; firebaseProjectId?: string; cloudFunctionsRegion?: string; localDevices?: string[]; updateInterval?: number; [key: string]: unknown; } /** * HomeBridge platform plugin for Oto smart sprinklers */ export declare class OtoPlatform implements DynamicPlatformPlugin { private readonly log; private readonly config; private readonly api; private readonly accessories; private readonly handlers; private apiClient; private pollTimer; readonly Service: typeof Service; readonly Characteristic: typeof import("homebridge").Characteristic; constructor(log: Logging, config: OtoPlatformConfig, api: API); private discoverDevices; /** * Create or refresh the accessory for one controller. One PlatformAccessory * per controller holds an IrrigationSystem service plus one Valve per zone. * Idempotent: the handler is built once per accessory and reused across * discovery cycles (only status is refreshed), so re-discovery never * re-registers or duplicates services. */ private syncController; private startPeriodicUpdate; configureAccessory(accessory: PlatformAccessory): void; } export {}; //# sourceMappingURL=platform.d.ts.map