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