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;
    sha: string;
    tier: string;
    /** Path-to-content map of all files in this skill. */
    files?: Record<string, string>;
}
export declare function normalizeContent(content: string): string;
export declare function computeSha(content: string): string;
export declare function computeSha(files: Record<string, string>): string;
export declare function fetchFromSource(parsed: ParsedSource, skillName: string, entry: SkillLockEntry): Promise<FetchResult | null>;
