import IPostMessage from '../../IPostMessage'; import IRemoteControl from './IRemoteControl'; /** * The `sos.management.remoteControl` groups together methods for enabling or disabling control of the device using an IR remote controller (TV controller). * *
* Remote Control Management Capabilities * | Capability | Description | * |:------------|:-------------| * | `SET_REMOTE_CONTROL_ENABLED` | If device supports setting remote control | * * If you want to check if the device supports this capability, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports). *
*/ export default class RemoteControl implements IRemoteControl { private messagePrefix; private postMessage; /** @internal */ constructor(messagePrefix: string, postMessage: IPostMessage); /** * The `enable()` method enables remote control. * * :::warning * **Android:** To prevent Android from displaying the Android homepage and thus not showing your content, you * must Enable Kiosk Mode (or Lock Remote Control) either through Box device settings or through API. * * Always set the Remote Control Lock to `enable` after the deployment. * ::: * @returns {Promise} A promise that resolves when the remote control is successfully enabled. * @throws {Error} If the device does not support remote control management. * @since 3.0.0 * * @example * await sos.management.remoteControl.enable(); */ enable(): Promise; /** * The `disable()` method disables remote control. * * @retuns {Promise} A promise that resolves when the remote control is successfully disabled. * @throws {Error} If the device does not support remote control management. * @since 3.0.0 * * @example * await sos.management.remoteControl.disable(); */ disable(): Promise; /** * The `isEnabled()` method returns whether the remote control is enabled. * * @returns {Promise} A promise that resolves to `true` if remote control is enabled, otherwise `false`. * @throws {Error} If the device does not support remote control management. * @since 4.0.0 * * @example * const enabled = await sos.management.remoteControl.isEnabled(); */ isEnabled(): Promise; /** * The `lock()` method is an alias for the `disable()` method. * * @returns {Promise} A promise that resolves when the remote control is successfully locked (disabled). * @throws {Error} If the device does not support remote control management. * @since 4.0.0 * * @example * await sos.management.remoteControl.lock(); */ lock(): Promise; /** * The `unlock()` method is an alias for the `enable()` method. * * @returns {Promise} A promise that resolves when the remote control is successfully unlocked (enabled). * @throws {Error} If the device does not support remote control management. * @since 4.0.0 * * @example * await sos.management.remoteControl.unlock(); */ unlock(): Promise; /** * The `isLocked()` method returns whether the remote control is locked (disabled). * * @returns {Promise} A promise that resolves to `true` if the remote control is locked (disabled), otherwise `false`. * @throws {Error} If the device does not support remote control management. * @since 4.0.0 * * @example * const locked = await sos.management.remoteControl.isLocked(); */ isLocked(): Promise; private setEnabled; private getMessage; }