import type { ParsedSource } from "../resolvers/source-resolver.js"; import type { SkillLockEntry } from "../lockfile/types.js"; export interface FetchResult { /** Skill content. For plugin-dir sources: combined content of all skills. */ content: string; version: string; /** * Installed-skill identity sha. Single-skill sources MUST hash the SKILL.md * content string — the same identity `vskill add` writes to the lockfile — * or unchanged skills phantom-update. Multi-file plugin/local sources hash * the files map. */ sha: string; tier: string; /** Path-to-content map of all files in this skill. */ files?: Record; } export declare function normalizeContent(content: string): string; export declare function computeSha(content: string): string; export declare function computeSha(files: Record): string; export declare function fetchFromSource(parsed: ParsedSource, skillName: string, entry: SkillLockEntry): Promise;