1import { BasePackageManager } from './BasePackageManager';
2export declare class NpmPackageManager extends BasePackageManager {
3    readonly name = "npm";
4    readonly bin = "npm";
5    readonly lockFile = "package-lock.json";
6    workspaceRoot(): NpmPackageManager | null;
7    addAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult> | import("../utils/spawn").PendingSpawnPromise<import("@expo/spawn-async").SpawnResult>;
8    addDevAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult> | import("../utils/spawn").PendingSpawnPromise<import("@expo/spawn-async").SpawnResult>;
9    addGlobalAsync(namesOrFlags?: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult> | import("../utils/spawn").PendingSpawnPromise<import("@expo/spawn-async").SpawnResult>;
10    removeAsync(namesOrFlags: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
11    removeDevAsync(namesOrFlags: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
12    removeGlobalAsync(namesOrFlags: string[]): import("@expo/spawn-async").SpawnPromise<import("@expo/spawn-async").SpawnResult>;
13    /**
14     * Parse all package specifications from the names or flag list.
15     * The result from this method can be used for `.updatePackageFileAsync`.
16     */
17    private parsePackageSpecs;
18    /**
19     * Older npm versions have issues with mismatched nested dependencies when adding exact versions.
20     * This propagates as issues like mismatched `@expo/config-pugins` versions.
21     * As a workaround, we update the `package.json` directly and run `npm install`.
22     */
23    private updatePackageFileAsync;
24}
25