import IPostMessage from '../../IPostMessage';
import IOSInfo from './IOSInfo';
import IOS, { SystemMemoryInfo } from './IOS';
/**
* The `sos.management.os` API groups together methods for retrieving information about the system.
*
*
*
* OS Management Capabilities
* | Capability | Description |
* |:------------|:-------------|
* | `SYSTEM_CPU` | If device supports collecting CPU usage information |
* | `SYSTEM_MEMORY` | If device supports collecting memory usage information |
*
* 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 OS implements IOS {
private messagePrefix;
private postMessage;
/** @internal */
constructor(messagePrefix: string, postMessage: IPostMessage);
/**
* The `getInfo()` method returns info about the system of the device, such as what current version of it is installed on the device. Major
* version of the current operating system. It's usually 1 or 2 digits, including or excluding dot notation.
*
* @returns {Promise} Resolves to an object containing information about the operating system.
* @since 5.0.0
*
* @example
* const osInfo = await sos.management.os.getInfo();
* console.log(`Current OS version is: ${osInfo.version}`);
*/
getInfo(): Promise;
/**
* The `getCpuUsage()` method returns the current total CPU usage (ranging from 0 to 100%).
*
* @throws {Error} If the CPU usage is not supported.
* @returns {Promise} Resolves to the current CPU usage percentage.
* @since 5.4.0
*
* @example
* const cpuUsage = await sos.management.os.getCpuUsage();
* console.log(`Current CPU usage is: ${cpuUsage}%`);
*/
getCpuUsage(): Promise;
/**
* The `getMemoryUsage()` method returns the total memory amount in bytes, the currently used memory, and the remaining free memory.
*
* @throws {Error} If the memory usage is not supported.
* @returns {Promise} Resolves to an object containing total, used, and free memory in bytes.
* @since 5.4.0
*
* @example
* const memoryUsage = await sos.management.os.getMemoryUsage();
* console.log(`Memory usage: ${((memoryUsage.used / memoryUsage.total) * 100).toFixed(2)}%`);
*/
getMemoryUsage(): Promise;
private getMessage;
}