import IPostMessage from '../../IPostMessage';
import IAudio from './IAudio';
/**
 * The `sos.management.audio` API groups methods for managing audio settings.
 *
 * <details>
 *     <summary>Volume Management Capabilities</summary>
 * 		| 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).
 * </details>
 */
export default class Audio implements IAudio {
    private messagePrefix;
    private postMessage;
    /** @internal */
    constructor(messagePrefix: string, postMessage: IPostMessage<any>);
    /**
     * The `getVolume()` method returns the current volume level of the device.
     *
     * @returns {Promise<number>} 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<number>;
    /**
     * The `setVolume()` method sets the volume level of the device.
     *
     * @param volume Value between 0 and 100.
     * @returns {Promise<void>} 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<void>;
    private getMessage;
}
