/// import EventEmitter from 'events'; import Moment from 'moment'; import { GardenaConnection } from './GardenaConnection.js'; import { GardenaDeviceBatteryState, GardenaDeviceRfLinkState } from './Enums.js'; export type GardenaRawDevicesJson = { data: { id: string; type: string; relationships: { devices: { data: { id: string; type: string; }[]; }; }; attributes: { name: string; }; }; included: any[]; }; export type GardenaRawDeviceAttributeJson = { value: any; ts?: Moment.Moment; }; export declare abstract class GardenaDevice extends EventEmitter { protected connection: GardenaConnection; readonly id: string; serial: string; modelType: string; name: string; batteryLevel: number; batteryLevelTs: Moment.Moment; batteryState: GardenaDeviceBatteryState; batteryStateTs: Moment.Moment; rfLinkLevel: number; rfLinkLevelTs: Moment.Moment; rfLinkState: GardenaDeviceRfLinkState; protected constructor(connection: GardenaConnection, id: string); processAttributes(attributes: GardenaRawDeviceAttributeJson[]): string[]; onStartRealtimeUpdates(func: () => void): this; onStopRealtimeUpdates(func: () => void): this; onUpdate(func: (updatedValues: string[]) => void): this; get ids(): string[]; }