UNPKG

node-hue-api

Version:
50 lines (49 loc) 2.13 kB
import { model } from '@peter-murray/hue-bridge-model'; import { ApiDefinition } from './http/ApiDefinition'; import { Api } from './Api'; type GroupState = model.GroupState; type Luminaire = model.Luminaire; type Entertainment = model.Entertainment; type Zone = model.Zone; type Room = model.Room; type LightGroup = model.LightGroup; type Group = model.Group; type Lightsource = model.Lightsource; type AnyGroup = Group | Entertainment | LightGroup | Lightsource | Luminaire | Room | Zone; export declare class Groups extends ApiDefinition { private _groupStateLimiter; constructor(hueApi: Api); getAll(): Promise<AnyGroup[]>; getGroup(id: number | Group): Promise<AnyGroup>; /** * @param name {string} * @returns {Promise<Array<Entertainment|LightGroup|Lightsource|Luminaire|Room|Zone>>} */ getGroupByName(name: string): Promise<AnyGroup[]>; createGroup(group: Group | LightGroup | Room | Entertainment | Zone): Promise<AnyGroup>; /** * Update the Group attributes on the bridge for the specified Group object. * @param group The group with updates to be updated on the bridge. * @returns {Promise<boolean>} */ updateGroupAttributes(group: Group): Promise<any>; deleteGroup(id: number | AnyGroup): Promise<boolean>; getGroupState(id: number | Group): Promise<object>; setGroupState(id: number | string | Group, state: GroupState): Promise<boolean>; getLightGroups(): Promise<LightGroup[]>; getLuminaries(): Promise<Luminaire[]>; getLightSources(): Promise<Lightsource[]>; getRooms(): Promise<Room[]>; getZones(): Promise<Zone[]>; getEntertainment(): Promise<Entertainment[]>; /** Enables the streaming functionality on an Entertainment Group */ enableStreaming(id: number | string | Entertainment): Promise<boolean>; /** * Disabled the streaming functionality on an Entertainment Group * @param id {int | Entertainment} * @returns {Promise<boolean>} */ disableStreaming(id: number | string | Entertainment): Promise<boolean>; _getByType(type: string): Promise<AnyGroup[]>; } export {};