import type { PackageManagerFamily } from "./package-manager"; export type SignetInstallMethod = "native" | PackageManagerFamily; export interface SignetInstallation { readonly method: SignetInstallMethod; readonly executablePath: string; readonly packagePath?: string; readonly active: boolean; readonly removalCommand?: string; } export type SignetUpdateTarget = { readonly kind: "native"; readonly executablePath: string; } | { readonly kind: "package-manager"; readonly family: PackageManagerFamily; readonly executablePath: string; } | { readonly kind: "unsupported"; readonly executablePath: string; readonly reason: string; }; export interface SignetInstallationReport { readonly target: SignetUpdateTarget; readonly installations: readonly SignetInstallation[]; readonly inactive: readonly SignetInstallation[]; } interface SignetInstallationDetectionOptions { readonly execPath?: string; readonly env?: NodeJS.ProcessEnv; readonly home?: string; readonly platform?: NodeJS.Platform; readonly exists?: (path: string) => boolean; readonly realpath?: (path: string) => string; readonly pathValue?: string; } export declare function packageManagerRemovalCommand(family: PackageManagerFamily): string; export declare function detectSignetInstallations(options?: SignetInstallationDetectionOptions): SignetInstallationReport; export declare function inactivePackageManagerInstallations(report: SignetInstallationReport): readonly SignetInstallation[]; export {}; //# sourceMappingURL=signet-installation.d.ts.map