import { INpmInstallArgs } from "../doc/INpmInstallArgs";
import { IPluginJsonObject } from "../doc/IPluginJsonObject";
import { INpmRegistryInfo } from "../doc/INpmRegistryInfo";
/**
 * Common function that returns npm command as a string.
 *
 * @return {string} command with npm path
 */
export declare function findNpmOnPath(): string;
/**
 * Common function that installs a npm package using the local npm cli.
 * @param {string} prefix Path where to install npm the npm package.
 *
 * @param {string} registry The npm registry to install from.
 *
 * @param {string} npmPackage The name of package to install.
 *
 * @return {string} command response
 *
 */
export declare function installPackages(npmPackage: string, npmArgs: INpmInstallArgs, verbose?: boolean): string;
/**
 * Fetch name and version of NPM package that was installed
 * @param pkgSpec The package name as specified on NPM install
 */
export declare function getPackageInfo(pkgSpec: string): {
    name: string;
    version: string;
    [key: string]: unknown;
};
export declare class NpmRegistryUtils {
    /**
     * Get the registry to install to.
     * @param userRegistry Registry override specified on the command line
     * @return {string}
     */
    static getRegistry(userRegistry?: string): string;
    /**
     * NPM login to be able to install from secure registry
     * @param {string} registry The npm registry to install from.
     */
    static npmLogin(registry: string): void;
    /**
     * Get package location and npm registry args for installing it.
     * @param packageInfo Plugin name or object from plugins.json
     * @param userRegistry Registry override specified on the command line
     * @returns Location info for npm package to be installed
     */
    static buildRegistryInfo(packageInfo: string | IPluginJsonObject, userRegistry?: string): INpmRegistryInfo;
    private static buildRegistryNpmArgs;
    private static getScopeRegistry;
}
//# sourceMappingURL=NpmFunctions.d.ts.map