export type InstallKind = "global" | "linked" | "npx" | "project" | "unknown"; export interface ClassifyInstallOptions { installPath: string; npmRootGlobal: string | undefined; isSymlink: (path: string) => boolean; } export declare function classifyInstall(options: ClassifyInstallOptions): InstallKind; export interface NpmSpawnerResult { exitCode: number; outputText: string; } export type NpmSpawner = (command: string, args: readonly string[]) => Promise; export interface NpmRunResult { exitCode: number; sawEacces: boolean; outputText: string; } export interface RunNpmInstallOptions { packageName: string; version: string; npmBin: string; spawner: NpmSpawner; } export declare function runNpmInstallGlobal(options: RunNpmInstallOptions): Promise; export declare function detectInstallPath(cliMetaUrl: string): string; export type NpmRootRunner = (command: string, args: readonly string[]) => string; export declare function detectNpmRootGlobal(npmBin: string, runner: NpmRootRunner): string | undefined; export declare function detectIsSymlink(filePath: string): boolean; export declare function createDefaultNpmSpawner(): NpmSpawner; //# sourceMappingURL=npmGlobal.d.ts.map