import IPostMessage from '../../IPostMessage';
import IPackage from './IPackage';
/**
* The `sos.management.package` API groups together methods for installing custom Android packages.
*
*
* Package Management Capabilities
* | Capability | Description |
* |:------------|:-------------|
* | `PACKAGE_INSTALL` | If device supports installing packages |
* | `STOP_PACKAGE` | If device supports stopping packages |
*
* 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 Package implements IPackage {
private messagePrefix;
private postMessage;
/** @internal */
constructor(messagePrefix: string, postMessage: IPostMessage);
/**
* The `install()` method installs a particular package from the specified URL.
*
* @param baseUrl URL where the package is available
* @param packageName Name of the Android package
* @param version Package version
* @param build If relevant for your device
* @returns {Promise} A promise that resolves when the package is successfully installed.
* @throws {Error} If `baseUrl` is not a valid URL
* @throws {Error} If `packageName` is not a string
* @throws {Error} If `version` is not a string
* @throws {Error} If `build` is not a string or null
*/
install(baseUrl: string, packageName: string, version: string, build: string | null): Promise;
/**
* The `stop()` method stops a certain package.
*
* @param packageName Name of the android package
*
* @returns {Promise} Resolves to `true` if the package was stopped, `false` if the package was already stopped before.
* @since 8.2.0
*/
stop(packageName: string): Promise;
/**
* The `clearData()` method stops a certain package and clears its user data.
*
* @param packageName Name of the android package
*
* @returns {Promise} Resolves if the package data was cleared.
* @since 8.8.0
*/
clearData(packageName: string): Promise;
private getMessage;
}