import { IDIService } from '../../IDIService'; import { ITypedEvent } from '../../TypedEvent'; import { IDevice, DeviceTasksInfo, ManuallyPairedDevice } from './IDevice'; import { DeviceTaskPairExecutionResult, IDevicesService } from './IDevicesService'; import { IDeviceState, IDeviceStateData, StateReliability } from './IDeviceState'; import { IDeviceChannel } from './IDeviceChannel'; import { Status } from '../../DataFrame'; import { IDeviceTask } from './IDeviceTask'; import { DeviceTaskExecutionResult } from './TaskExecutionResult'; import { ISequenceInfo } from '../Scenes/Scenes'; /** * @type Class */ export declare class DevicesService implements IDIService, IDevicesService { private _devices; static readonly ServiceName: string; private _onDevicesTasksChangedEvent; private _onDeviceFoundEvent; private _onDeviceRegisteredEvent; private _onDeviceRemovedEvent; private _onDeviceFirmwareVersionChangedEvent; private _onDeviceStateChangedEvent; private _onDeviceStateRefreshedOrChangedEvent; private _connection; private _session; private _controllerConfiguration; private _synchronized; private _synchronizedDevicesStates; private _devicesChannelsStates; private _onDevicesSynchronized; private _onDevicesStatesSynchronized; private _syncSemaphore; constructor(); private ResyncDevicesAsync; WaitForSynchronizationAsync(): Promise; WaitForDevicesStatesSynchronizationAsync(): Promise; ProtocolGuidToProtocolName(guid: string): string | null; CanDisplaySceneDevices(): boolean; CheckIfControllerSoftwareVersionIsEnough(requiredContainerMajor: number, requiredContainerMinor: number): boolean; CheckIfDeviceUsedInScenesAsync(deviceGuid: string): Promise; CheckIfDeviceUsedInScenesAsync(device: IDevice): Promise; CanEditDevicesInfo(): boolean; CanAddAndRemoveAndConfigureDevices(): boolean; GetDeviceChannelByChannelId(channelId: string): IDeviceChannel | null; EnableFastStatesSyncAsync(): Promise; DisableFastStatesSyncAsync(): Promise; IsFastStatesSyncEnabledAsync(): Promise; GetDevicesForManualPairingAsync(protocolExtensionGuids?: string[] | undefined): Promise; GetDevicesForManualPairingAsync(protocolExtensionGuid?: string | undefined): Promise; AddManuallyPairedDevice(device: ManuallyPairedDevice): Promise; GetDeviceChannelStates(device: IDevice, channel: number): DeviceChannelStates[]; GetDeviceStates(device: IDevice): DeviceChannelStates[]; private PutDeviceStateOnList; GetCurrentlyRunningTaksAsync(): Promise; ParseDeviceTaskInfo(tasks: string[]): void; MapApiDeviceStateToDeviceState(device: IDevice, state: DeviceStateChangedObject): IDeviceState | null; GetServiceName(): string; SyncDevicesStatesAsync(forceSlow?: boolean): Promise; OnDevicesTasksExecutionChangeEvent(): ITypedEvent; OnDeviceStateChangedEvent(): ITypedEvent<{ Device: IDevice; State: IDeviceState; }>; OnDeviceStateRefreshedOrChangedEvent(): ITypedEvent<{ Device: IDevice; State: IDeviceState; }>; OnDeviceRegisteredEvent(): ITypedEvent; OnDeviceRemovedEvent(): ITypedEvent; OnDeviceFoundEvent(): ITypedEvent; private MapApiDevices; private GetPairedDevicesAsync; GetDevicesAsync(withScenes?: boolean): Promise; GetFoundDevicesAsync(): Promise; GetDevice(guid: string): IDevice | undefined; FindDevicesAsync(): Promise; StopSearchingForDevices(): Promise; RegisterDeviceAsync(device: IDevice): Promise; RemoveDeviceAsync(device: IDevice, force?: boolean): Promise; private MapDeviceTaskToDeviceTaskInfo; ExecuteDeviceTaskAsync(device: IDevice, task: IDeviceTask): Promise; ExecuteDevicesTasksAsync(tasks: [Device: IDevice, Task: IDeviceTask][]): Promise; } declare class DeviceChannelStates { Channel: number; States: IDeviceState[]; } /** * @type Class */ export declare class DeviceStateChangedObject { DeviceGuid: string; state: DeviceStateObject; Type: number; DataType: string; } /** * @type Class */ export declare class DeviceStateObject { Channel: number; StateReliability: StateReliability; } /** * @type Class */ export declare class DeviceUsedInScenes { DeviceGuid: string; ConditionsAsCondition: ISequenceInfo[]; ConditionsAsTask: ISequenceInfo[]; } export {};