///
import { ChildProcessWithoutNullStreams } from "child_process";
declare namespace Installer {
type AddonExpr = URL | string;
interface ExtractOptions {
downloadFromRemote?: boolean;
token?: string;
name?: string;
}
interface InstallOptions {
installDependencies?: boolean;
searchInRegistry?: boolean;
token?: string;
}
interface InitOptions {
token?: string;
name?: string;
forceClean?: boolean;
}
interface ExprResult {
repoUserOrg: string;
repoName: string;
host: null | string;
}
export function initAgent(location: string, options?: InitOptions): Promise;
export function runAgent(location: string, silent?: boolean, options?: object): Promise;
export function installDependencies(cwd?: string, lock?: boolean): Promise;
export function renameDirFromManifest(dir?: string, fileName?: string): Promise;
export function extractAgent(dest: string, options?: ExtractOptions): Promise;
export function installAddon(addonExpr: AddonExpr, dest: string, options?: InstallOptions): Promise;
export function parseAddonExpr(addonExpr: AddonExpr): ExprResult;
export function setRegistryURL(url: URL): void;
export namespace CONSTANTS {
export const BUILT_IN_ADDONS: readonly string[];
}
}
export = Installer;
export as namespace Installer;