import { SpawnPromise, SpawnResult } from '@expo/spawn-async'; import { PackageManager, PackageManagerOptions } from '../PackageManager'; import { PendingSpawnPromise } from '../utils/spawn'; export declare abstract class BasePackageManager implements PackageManager { readonly silent: boolean; readonly log?: (...args: any) => void; readonly options: PackageManagerOptions; constructor({ silent, log, env, ...options }?: PackageManagerOptions); /** Get the name of the package manager */ abstract readonly name: string; /** Get the executable binary of the package manager */ abstract readonly bin: string; /** Get the lockfile for this package manager */ abstract readonly lockFile: string; /** Get the default environment variables used when running the package manager. */ protected getDefaultEnvironment(): Record; abstract addAsync(namesOrFlags: string[]): SpawnPromise | PendingSpawnPromise; abstract addDevAsync(namesOrFlags: string[]): SpawnPromise | PendingSpawnPromise; abstract addGlobalAsync(namesOrFlags: string[]): SpawnPromise | PendingSpawnPromise; abstract removeAsync(namesOrFlags: string[]): SpawnPromise | PendingSpawnPromise; abstract removeDevAsync(namesOrFlags: string[]): SpawnPromise | PendingSpawnPromise; abstract removeGlobalAsync(namesOrFlags: string[]): SpawnPromise | PendingSpawnPromise; abstract workspaceRoot(): PackageManager | null; /** Ensure the CWD is set to a non-empty string */ protected ensureCwdDefined(method?: string): string; runAsync(command: string[]): SpawnPromise; versionAsync(): Promise; getConfigAsync(key: string): Promise; removeLockfileAsync(): Promise; installAsync(flags?: string[]): SpawnPromise | PendingSpawnPromise; uninstallAsync(): Promise; }