import IPostMessage from '../../IPostMessage';
import IAudio from './IAudio';
/**
* The `sos.management.audio` API groups methods for managing audio settings.
*
*
* Volume Management Capabilities
* | Capability | Description |
* |:------------|:-------------|
* | `SET_VOLUME` | If device can set volume level |
* | `GET_VOLUME` | If device can get current volume level |
*
* If you want to check if the device supports those capabilities, use [`sos.management.supports()`](https://developers.signageos.io/sdk/sos_management/#supports).
*
*/
export default class Audio implements IAudio {
private messagePrefix;
private postMessage;
/** @internal */
constructor(messagePrefix: string, postMessage: IPostMessage);
/**
* The `getVolume()` method returns the current volume level of the device.
*
* @returns {Promise} A promise that resolves to the current volume level, which is a value between 0 and 100.
* @since 2.0.0
*
* @example
* const currentVolume = await sos.management.audio.getVolume();
* console.log(`Current volume level is: ${currentVolume}`); // e.g. 75
*/
getVolume(): Promise;
/**
* The `setVolume()` method sets the volume level of the device.
*
* @param volume Value between 0 and 100.
* @returns {Promise} A promise that resolves when the volume is set.
* @throws {Error} If the volume is not a number or is outside the range of 0 to 100.
* @since 2.0.0
*
* @example // {@link https://github.com/signageos/applet-examples/tree/master/examples/management-js-api/volume | Example applet with setting volume}
*
* @example
* await sos.management.audio.setVolume(50);
*/
setVolume(volume: number): Promise;
private getMessage;
}