import IPostMessage from '../../IPostMessage'; import ISetColorMessage from './ISetColorMessage'; import ILed from './ILed'; /** * The `sos.hardware.led` API groups together methods for controlling LEDs of the device. * * :::warning * This is currently only supported by Phillips devices. * ::: */ export default class Led implements ILed { private messagePrefix; private postMessage; static MESSAGE_PREFIX: string; /** @internal */ constructor(messagePrefix: string, postMessage: IPostMessage); /** * The `setColor()` methods sets the LED color. * * @param color The color to set the LED to, in hexadecimal format (e.g. `#FF0000` for red). If `null`, it will turn off the LED. * @returns {Promise} Returns a promise that resolves when the color is successfully set. * @throws {Error} If the color is not a valid hexadecimal string or is not a string at all. * @throws {Error} If the LED cannot be controlled by the device. * @throws {Error} If any other error occurs while setting the color. * @since 4.4.0 * * @example * // Set the LED color to red * await sos.hardware.led.setColor('#FF0000'); * // Turn off the LED * await sos.hardware.led.setColor(null); */ setColor(color: string | null): Promise; private checkColorValidity; private getMessage; }