/**
 * Skill resolution functionality
 * Handles parsing skills.json and resolving skill versions
 */
/**
 * Skills.json format - maps skill name to version range or object with version
 */
export type SkillsJson = Record<string, string | {
    version: string;
}>;
/**
 * Parsed skill dependency with name and version range
 */
export type ParsedSkillDependency = {
    name: string;
    versionRange: string;
};
/**
 * Parse skills.json content into array of skill dependencies
 *
 * @param args - Arguments
 * @param args.skillsJson - The parsed skills.json content
 *
 * @returns Array of parsed skill dependencies
 */
export declare const parseSkillsJson: (args: {
    skillsJson: SkillsJson;
}) => Array<ParsedSkillDependency>;
/**
 * Read and parse skills.json from a profile directory
 *
 * @param args - Arguments
 * @param args.skillsetDir - Path to the profile directory
 *
 * @returns Array of parsed skill dependencies, or null if skills.json doesn't exist
 */
export declare const readSkillsJson: (args: {
    skillsetDir: string;
}) => Promise<Array<ParsedSkillDependency> | null>;
/**
 * Write skills.json to a profile directory
 *
 * @param args - Arguments
 * @param args.skillsetDir - Path to the profile directory
 * @param args.dependencies - Array of skill dependencies to write
 */
export declare const writeSkillsJson: (args: {
    skillsetDir: string;
    dependencies: Array<ParsedSkillDependency>;
}) => Promise<void>;
/**
 * Add or update a skill dependency in a profile's skills.json
 *
 * @param args - Arguments
 * @param args.skillsetDir - Path to the profile directory
 * @param args.skillName - Name of the skill to add
 * @param args.version - Version string (e.g., "*", "^1.0.0", "1.2.3")
 */
export declare const addSkillDependency: (args: {
    skillsetDir: string;
    skillName: string;
    version: string;
}) => Promise<void>;
/**
 * Resolve a version range to a specific version from available versions
 *
 * @param args - Arguments
 * @param args.versionRange - Semver version range (e.g., "^1.0.0", "~1.0.0", "*")
 * @param args.availableVersions - Array of available version strings
 *
 * @returns The best matching version, or null if no match found
 */
export declare const resolveSkillVersion: (args: {
    versionRange: string;
    availableVersions: Array<string>;
}) => string | null;
//# sourceMappingURL=skillResolver.d.ts.map