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; getGroup(id: number | Group): Promise; /** * @param name {string} * @returns {Promise>} */ getGroupByName(name: string): Promise; createGroup(group: Group | LightGroup | Room | Entertainment | Zone): Promise; /** * 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} */ updateGroupAttributes(group: Group): Promise; deleteGroup(id: number | AnyGroup): Promise; getGroupState(id: number | Group): Promise; setGroupState(id: number | string | Group, state: GroupState): Promise; getLightGroups(): Promise; getLuminaries(): Promise; getLightSources(): Promise; getRooms(): Promise; getZones(): Promise; getEntertainment(): Promise; /** Enables the streaming functionality on an Entertainment Group */ enableStreaming(id: number | string | Entertainment): Promise; /** * Disabled the streaming functionality on an Entertainment Group * @param id {int | Entertainment} * @returns {Promise} */ disableStreaming(id: number | string | Entertainment): Promise; _getByType(type: string): Promise; } export {};