export type SkillInstallKind = "claude-code" | "codex" | "cursor"; export type SkillInstallScope = "global" | "project"; export interface SkillInstallTarget { kind: SkillInstallKind; scope: SkillInstallScope; path: string; } export interface SkillInstallStatus extends SkillInstallTarget { installedVersion: string | null; reason: "legacy-copy-present" | "missing-version" | "older-version"; } interface FindOutdatedOptions { homeDir?: string; cwd?: string; } export declare function readSkillVersion(path: string): string | null; /** * Project #245: the skill version this CLI was published with. * * Reads the bundled `skills/graphit/SKILL.md` shipped inside the npm package * (resolved package-relative, the same way getCurrentVersion reads * ../package.json), NOT a scan of the user's installed copies - under the plugin * model (Feature #620) those are legacy and the active plugin bundle lives in a * cache dir the CLI cannot locate. Equals the CLI version today by lockstep; * forward-compatible if skill_version is ever decoupled. Falls back to the given * version on any read miss. */ export declare function getBundledSkillVersion(fallback: string): string; export declare function getSkillInstallTargets(options?: FindOutdatedOptions): SkillInstallTarget[]; export declare function findOutdatedSkillInstalls(currentVersion: string, options?: FindOutdatedOptions): SkillInstallStatus[]; export declare function formatSkillStalenessBanner(statuses: SkillInstallStatus[], currentVersion: string): string | null; export {};