import type { SkillLockEntry } from "../lockfile/types.js"; /** * Read the version string from a SKILL.md frontmatter block. Returns null * when the file is missing, has no frontmatter, or no `version` field at * any supported location. */ export declare function readDiskVersion(skillMdPath: string): string | null; export interface ReconcileResult { version: string; warning?: string; } /** * Returns the version that should be reported as `currentVersion` to the * platform's `/check-updates` API. Prefers disk frontmatter; falls back to * the lockfile-pinned version with a warning when disk is unreadable. */ export declare function reconcileLockfileVersion(args: { lockfileVersion: string; skillMdPath: string; }): ReconcileResult; /** * Resolve the on-disk SKILL.md path for a given lockfile entry. Returns the * conventional path; the file may or may not exist (callers handle the * fallback via reconcileLockfileVersion). * * Resolution order: * 1. `entry.installedPath` (if set, append SKILL.md when not already a file) * 2. user scope → `~/.claude/skills//SKILL.md` * 3. project scope (default) → `/.claude/skills//SKILL.md` */ export declare function resolveInstallPath(args: { name: string; entry: SkillLockEntry; lockDir: string; }): string; /** * Compare two semver strings. Returns negative if a < b, positive if a > b, * zero if equal. Falls back to localeCompare for non-numeric versions. */ export declare function compareSemver(a: string, b: string): number;