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<ISetColorMessage>);
    /**
     * 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<void>} 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<void>;
    private checkColorValidity;
    private getMessage;
}
