/** * Package.json management utilities */ export interface PackageJson { name?: string; version?: string; scripts?: Record; dependencies?: Record; devDependencies?: Record; [key: string]: any; } export interface ScriptToInject { name: string; command: string; description?: string; } export declare class PackageManager { /** * Find the nearest package.json file starting from a directory */ static findPackageJson(startDir?: string): Promise; /** * Read and parse a package.json file */ static readPackageJson(packageJsonPath: string): Promise; /** * Write a package.json file with proper formatting */ static writePackageJson(packageJsonPath: string, packageJson: PackageJson): Promise; /** * Check if a script already exists in package.json */ static hasScript(packageJson: PackageJson, scriptName: string): boolean; /** * Add scripts to package.json, avoiding duplicates */ static addScripts(packageJson: PackageJson, scripts: ScriptToInject[]): { added: ScriptToInject[]; skipped: ScriptToInject[]; }; /** * Inject CCanywhere scripts into a package.json file */ static injectScripts(packageJsonPath: string, scripts: ScriptToInject[]): Promise<{ added: ScriptToInject[]; skipped: ScriptToInject[]; }>; /** * Get default CCanywhere scripts to inject */ static getDefaultScripts(): ScriptToInject[]; /** * Check if we're inside the ccanywhere package itself (to avoid self-injection) */ static isCcanywherePackage(packageJsonPath: string): Promise; /** * Check if this is a global npm installation */ static isGlobalInstall(): Promise; } //# sourceMappingURL=package-manager.d.ts.map