import { Device, Ethernet, WiFi } from 'shellies-ds9'; import { ChannelsPropertiesService } from '../../../modules/devices/services/channels.properties.service'; import { ChannelsService } from '../../../modules/devices/services/channels.service'; import { DeviceConnectivityService } from '../../../modules/devices/services/device-connectivity.service'; import { DevicesService } from '../../../modules/devices/services/devices.service'; import { ShellyNgChannelEntity, ShellyNgChannelPropertyEntity, ShellyNgDeviceEntity } from '../entities/devices-shelly-ng.entity'; import { PropertyMappingStorageService, TransformerRegistry } from '../mappings'; import { DeviceManagerService } from '../services/device-manager.service'; import { ShellyDeviceDelegate } from './shelly-device.delegate'; type MaybeNet = { wifi?: WiFi & { sta_ip?: string | null; }; ethernet?: Ethernet & { ip?: string | null; }; }; export declare class DelegatesManagerService { private readonly devicesService; private readonly channelsService; private readonly channelsPropertiesService; private readonly deviceConnectivityService; private readonly deviceManagerService; private readonly propertyMappingStorage; private readonly transformerRegistry; private readonly logger; private readonly delegates; private readonly delegateValueHandlers; private readonly delegateConnectionHandlers; private readonly changeHandlers; private readonly setChannelsHandlers; private readonly setPropertiesHandlers; private readonly pendingWrites; private readonly propertiesMap; private readonly delegateDeviceIds; private readonly insertGeneration; private readonly deviceLocks; constructor(devicesService: DevicesService, channelsService: ChannelsService, channelsPropertiesService: ChannelsPropertiesService, deviceConnectivityService: DeviceConnectivityService, deviceManagerService: DeviceManagerService, propertyMappingStorage: PropertyMappingStorageService, transformerRegistry: TransformerRegistry); get(id: Device['id']): ShellyDeviceDelegate | undefined; insert(shelly: Device & MaybeNet, force?: boolean): Promise; private performInsert; remove(deviceId: string): Promise; private performRemove; setChannelValue(device: ShellyNgDeviceEntity, channel: ShellyNgChannelEntity, updates: { property: ShellyNgChannelPropertyEntity; value: string | number | boolean; }[]): Promise; setPropertyValue(device: ShellyNgDeviceEntity, property: ShellyNgChannelPropertyEntity, value: string | number | boolean): Promise; private applyTransformer; private handleChange; private setDefaultPropertyValue; private determineCategory; private handleNumericChange; private scheduleWrite; private writeValueToProperty; detach(): void; destroy(): void; private withDeviceLock; } export {};