import { JSONObject } from '../types';
import { Packager } from './packager';
/**
 * NPM packager.
 */
export declare class NPM implements Packager {
    get lockfileName(): string;
    get copyPackageSectionNames(): never[];
    get mustCopyModules(): boolean;
    isManagerInstalled(cwd: string): boolean;
    getProdDependencies(cwd: string, depth?: number): any;
    /**
     * We should not be modifying 'package-lock.json'
     * because this file should be treated as internal to npm.
     *
     * Rebase package-lock is a temporary workaround and must be
     * removed as soon as https://github.com/npm/npm/issues/19183 gets fixed.
     */
    rebaseLockfile(pathToPackageRoot: string, lockfile: JSONObject): any;
    install(cwd: any): void;
    prune(cwd: any): void;
    runScripts(cwd: any, scriptNames: any): void;
    private rebaseFileReferences;
}
