/** * Unified station properties interface for Eufy stations * * Contains all possible station properties from all schema versions, including network, alarm, and security fields. * Used for type safety and property mapping throughout the client and plugin. */ import { CommonEufyProperties } from "../types/common-properties"; import { PropertyMetadataAny } from "../types/shared"; import { AlarmMode, GuardMode } from "./constants"; /** * Unified station properties interface. * Contains all possible station properties from all schema versions (up to schema 21). * Properties may be optional since not all stations support all features. */ export interface StationProperties extends CommonEufyProperties { lanIpAddress?: string; macAddress?: string; wifiRssi?: number; wifiSignalLevel?: number; guardMode: GuardMode; currentMode: AlarmMode; timeFormat?: number; timezone?: string; dstOffset?: number; alarmVolume?: number; alarmTone?: number; promptVolume?: number; ringtoneVolume?: number; notificationSwitchModeSchedule?: boolean; notificationSwitchModeGeofence?: boolean; notificationSwitchModeApp?: boolean; notificationSwitchModeKeypad?: boolean; notificationStartAlarmDelay?: boolean; switchModeWithAccessCode?: boolean; autoEndAlarm?: boolean; turnOffAlarmWithButton?: boolean; stationHomeSecuritySettings?: string; stationAwaySecuritySettings?: string; stationCustom1SecuritySettings?: string; stationCustom2SecuritySettings?: string; stationCustom3SecuritySettings?: string; stationOffSecuritySettings?: string; alarm?: boolean; alarmType?: number; alarmArmed?: boolean; alarmArmDelay?: number; alarmDelay?: number; alarmDelayType?: number; storageInfoEmmc?: object; storageInfoHdd?: object; crossCameraTracking?: boolean; continuousTrackingTime?: number; trackingAssistance?: boolean; crossTrackingCameraList?: object; crossTrackingGroupList?: object; storageType?: number; storageCapacity?: number; storageAvailable?: number; automaticFirmwareUpdate?: boolean; lastUpdateTime?: number; } export type StationPropertyName = keyof StationProperties; export type StationPropertyMetadata = PropertyMetadataAny; export type StationPropertiesMetadata = Record; //# sourceMappingURL=properties.d.ts.map