import { Status } from "../../DataFrame"; import { IDIService } from "../../IDIService"; import { ResponseResult } from "../FieldChangeResult"; import { IDevice } from "./IDevice"; import { IDeviceChannel } from "./IDeviceChannel"; export interface IChannelsGroupsService extends IDIService { WaitForSynchronizationAsync(): Promise; RemoveGroupAsync(group: IChannelsGroup): Promise; RemoveGroupByGuidAsync(groupGuid: string): Promise; GetGroupByGuid(guid: string): IChannelsGroup | null; GetGroupsAsync(): Promise; IsGroupsAndObjectsOrderingAvailable(): boolean; MoveGroupPositionAsync(group: IChannelsGroup, newPosition: number): Promise; ChangeGroupsOrderAsync(orderedGroups: IChannelsGroup[]): Promise; MoveObjectInGroupPositionAsync(group: IChannelsGroup, channel: IDeviceChannel, newPosition: number): Promise; ChangeObjectsPositionsInGroupAsync(group: IChannelsGroup, channels: IDeviceChannel[]): Promise; SetObjectsInGroupAndOrderAsync(group: IChannelsGroup, objects: Array): Promise>; AddDeviceChannelToGroupAsync(channel: IDeviceChannel, group: IChannelsGroup): Promise; AddDeviceChannelToGroupByGuidAsync(channel: IDeviceChannel, groupGuid: string): Promise; RemoveDeviceChannelFromGroupAsync(channel: IDeviceChannel, group: IChannelsGroup): Promise; RemoveDeviceChannelFromGroupByGuidAsync(channel: IDeviceChannel, groupGuid: string): Promise; AddNewGroupAsync(name: string): Promise>; AddNewGroupWithIconAsync(name: string, iconName: string): Promise>; UpsertGroupWithDevicesChannelsAsync(group: IChannelsGroup, deviceChannels: IDeviceChannel[]): Promise>; UpdateGroupWithDevicesChannelsAsync(groupGuid: string, deviceChannels: IDeviceChannel[]): Promise; ChangeGroupNameAsync(group: IChannelsGroup, name: string): Promise>; ChangeGroupIconNameAsync(group: IChannelsGroup, iconName: string): Promise>; ChangeGroupNameAndIconAsync(group: IChannelsGroup, name: string, iconName: string): Promise>; ChangeGroupNameByGuidAsync(groupGuid: string, name: string): Promise>; ChangeGroupIconNameByGuidAsync(groupGuid: string, iconName: string): Promise>; ChangeGroupNameAndIconByGuidAsync(groupGuid: string, name: string, iconName: string): Promise>; } export declare enum SetObjectsInGroupAndOrderResponseCode { Success = "Success", GroupDoesNotExists = "GroupDoesNotExists", ObjectDoesNotExists = "ObjectDoesNotExists", FatalError = "FatalError", FunctionNotSupported = "FunctionNotSupported" } export declare enum AddNewGroupErrorCode { Success = "Success", NoPermissions = "NoPermissions", NameToShort = "NameToShort", NameAlreadyExists = "NameAlreadyExists", OtherError = "OtherError", UnknownError = "UnknownError" } export interface IChannelsGroup { get Guid(): string; get Name(): string; get IconName(): string; get OrderPosition(): number; get ObjectsOrder(): Record; GetDevicesChannelsInGroupAsync(withScenes: boolean): Promise; ChangeNameAsync(name: string): Promise>; ChangeIconNameAsync(name: string): Promise>; } export declare class ChannelsGroup implements IChannelsGroup { private _guid; private _name; private _iconName; private _position; private _objectsOrder; private static _devicesService; constructor(); GetDevicesChannelsInGroupAsync(withScenes?: boolean): Promise; get Guid(): string; set Guid(value: string); get Name(): string; set Name(value: string); get IconName(): string; set IconName(value: string); get OrderPosition(): number; set OrderPosition(value: number); get ObjectsOrder(): Record; set ObjectsOrder(value: Record); ChangeNameAsync(name: string): Promise>; ChangeIconNameAsync(iconName: string): Promise>; }