1import { SpawnPromise, SpawnResult } from '@expo/spawn-async'; 2import { PackageManager, PackageManagerOptions } from '../PackageManager'; 3import { PendingSpawnPromise } from '../utils/spawn'; 4export declare abstract class BasePackageManager implements PackageManager { 5 readonly silent: boolean; 6 readonly log?: (...args: any) => void; 7 readonly options: PackageManagerOptions; 8 constructor({ silent, log, env, ...options }?: PackageManagerOptions); 9 /** Get the name of the package manager */ 10 abstract readonly name: string; 11 /** Get the executable binary of the package manager */ 12 abstract readonly bin: string; 13 /** Get the lockfile for this package manager */ 14 abstract readonly lockFile: string; 15 /** Get the default environment variables used when running the package manager. */ 16 protected getDefaultEnvironment(): Record<string, string>; 17 abstract addAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>; 18 abstract addDevAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>; 19 abstract addGlobalAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>; 20 abstract removeAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>; 21 abstract removeDevAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>; 22 abstract removeGlobalAsync(namesOrFlags: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>; 23 abstract workspaceRoot(): PackageManager | null; 24 /** Ensure the CWD is set to a non-empty string */ 25 protected ensureCwdDefined(method?: string): string; 26 runAsync(command: string[]): SpawnPromise<SpawnResult>; 27 versionAsync(): Promise<string>; 28 getConfigAsync(key: string): Promise<string>; 29 removeLockfileAsync(): Promise<void>; 30 installAsync(flags?: string[]): SpawnPromise<SpawnResult> | PendingSpawnPromise<SpawnResult>; 31 uninstallAsync(): Promise<void>; 32} 33