import { Logging } from 'homebridge'; import { OtoClientConfig, OtoController, OtoZone } from './transport'; export { OtoController, OtoZone, OtoClientConfig, OtoTransport } from './transport'; /** * Facade over the configured transport. The platform and accessories talk to * this client and never need to know whether they're hitting OtO's Firebase * cloud or a local irrigoto device. * * See transport.ts / docs/OTO_API.md for why two transports exist: OtO has no * public API, so "cloud" reverse-engineers their Firebase backend and "local" * targets the community ESPHome firmware. */ export declare class OtoApiClient { private readonly transport; constructor(config: OtoClientConfig, log: Logging); authenticate(): Promise; getControllers(): Promise; getZones(controllerId: string): Promise; getZoneStatus(controllerId: string, zoneId: string): Promise; /** * Start watering a zone. Resolves to the server's estimated runtime in * SECONDS when known, or `undefined` when the backend doesn't report one. */ startZone(controllerId: string, zoneId: string, durationSeconds?: number): Promise; stopZone(controllerId: string, zoneId: string): Promise; } //# sourceMappingURL=otoApi.d.ts.map