/** * Tracks ai-eng-managed install artifacts for precise clean/uninstall. */ import type { InstallScope } from "./toolkit-path"; import type { InstallPlatform } from "./types"; export declare const MANIFEST_VERSION = 1; export interface InstallManifestEntry { platform: InstallPlatform; scope: InstallScope; installedAt: string; /** Top-level entries under .agents/skills/ (or harness skills source). */ agentSkillEntries: string[]; /** Harness bundle directory removed on clean (cursor plugin, .pi/, project .gemini/). */ bundlePath?: string; /** OpenCode skill directory names under skill/. */ openCodeSkillDirs?: string[]; /** OpenCode tool paths relative to tool/. */ openCodeToolPaths?: string[]; /** Gemini command filenames under commands/. */ geminiCommandFiles?: string[]; /** Gemini skill tree entries under skills/ (top-level dir names). */ geminiSkillEntries?: string[]; } export interface InstallManifestFile { version: number; entries: InstallManifestEntry[]; } export declare function getManifestPath(scope: InstallScope, projectDir: string): string; export declare function readInstallManifest(scope: InstallScope, projectDir: string): InstallManifestFile; export declare function writeInstallManifest(scope: InstallScope, projectDir: string, manifest: InstallManifestFile): void; export declare function findManifestEntry(manifest: InstallManifestFile, platform: InstallPlatform, scope: InstallScope): InstallManifestEntry | undefined; export declare function upsertManifestEntry(scope: InstallScope, projectDir: string, entry: InstallManifestEntry): void; export declare function removeManifestEntry(scope: InstallScope, projectDir: string, platform: InstallPlatform, targetScope: InstallScope): void;