import IPostMessage from '../../IPostMessage';
import IPackage from './IPackage';
/**
 * The `sos.management.package` API groups together methods for installing custom Android packages.
 *
 * <details>
 *     <summary>Package Management Capabilities</summary>
 * 		| 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).
 * </details>
 */
export default class Package implements IPackage {
    private messagePrefix;
    private postMessage;
    /** @internal */
    constructor(messagePrefix: string, postMessage: IPostMessage<any>);
    /**
     * 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<void>} 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<void>;
    /**
     * The `stop()` method stops a certain package.
     *
     * @param packageName Name of the android package
     *
     * @returns {Promise<boolean>} Resolves to `true` if the package was stopped, `false` if the package was already stopped before.
     * @since 8.2.0
     */
    stop(packageName: string): Promise<boolean>;
    private getMessage;
}
