import { ConfigService } from '../../../modules/config/services/config.service'; import { DeviceConnectivityService } from '../../../modules/devices/services/device-connectivity.service'; import { DevicesService } from '../../../modules/devices/services/devices.service'; import { ConfigChangeResult, IManagedPluginService, ServiceState } from '../../../modules/extensions/services/managed-plugin-service.interface'; import { PluginServiceManagerService } from '../../../modules/extensions/services/plugin-service-manager.service'; import { Z2mDeviceMapperService } from './device-mapper.service'; import { Z2mMqttClientAdapterService } from './mqtt-client-adapter.service'; export declare class Zigbee2mqttService implements IManagedPluginService { private readonly configService; private readonly mqttAdapter; private readonly deviceMapper; private readonly devicesService; private readonly deviceConnectivityService; private readonly pluginServiceManager; private readonly logger; readonly pluginName = "devices-zigbee2mqtt-plugin"; readonly serviceId = "connector"; private pluginConfig; private state; private startStopLock; private deviceSyncPending; private bridgeOnline; private pendingDevices; private isSyncing; private transformersRestored; constructor(configService: ConfigService, mqttAdapter: Z2mMqttClientAdapterService, deviceMapper: Z2mDeviceMapperService, devicesService: DevicesService, deviceConnectivityService: DeviceConnectivityService, pluginServiceManager: PluginServiceManagerService); start(): Promise; stop(): Promise; getState(): ServiceState; onConfigChanged(): Promise; restart(): Promise; isBridgeOnline(): boolean; getRegisteredDevices(): import("../interfaces/zigbee2mqtt.interface").Z2mRegisteredDevice[]; requestDeviceState(friendlyName: string): Promise; getCachedState(friendlyName: string): Record; private initialize; private doStart; private doStop; private buildMqttConfig; private handleBridgeOnline; private handleBridgeOffline; private handleDevicesReceived; private syncDevices; private handleDeviceStateChanged; private handleDeviceAvailabilityChanged; private handleDeviceJoined; private handleDeviceLeft; private get config(); private withLock; private waitUntil; }