/**
 * Legacy Skill Adapter
 *
 * Converts between legacy JSON-based skills and the UnifiedSkill format.
 * Handles differences in parameter schemas, step definitions, triggers, etc.
 */
import type { UnifiedSkill, Skill } from '../types.js';
/**
 * The shape of a legacy skill from skill-manager.ts.
 * Duplicated here to avoid circular imports with skill-manager.ts
 * which exports its own `Skill` interface.
 */
export interface LegacySkill {
    name: string;
    description: string;
    triggers: string[];
    systemPrompt: string;
    tools?: string[];
    model?: string;
    priority?: number;
    autoActivate?: boolean;
    scripts?: LegacySkillScript[];
}
export interface LegacySkillScript {
    name: string;
    command: string;
    runOn: 'activate' | 'complete' | 'both';
    timeout?: number;
}
/**
 * The shape of a loaded skill from skill-loader.ts.
 */
export interface LegacyLoadedSkill extends LegacySkill {
    source: 'builtin' | 'global' | 'project' | 'agent';
    path?: string;
    agentId?: string;
    loadedAt: number;
    eligible: boolean;
}
/**
 * Convert a legacy JSON-based skill to a UnifiedSkill.
 *
 * @param legacySkill - The legacy skill object from SkillManager or SkillLoader
 * @param options - Optional conversion options
 * @returns A UnifiedSkill representation
 */
export declare function legacyToUnified(legacySkill: LegacySkill, options?: {
    /** Override the source type (defaults to 'legacy') */
    source?: 'legacy' | 'bundled';
    /** Mark as enabled/disabled (defaults to true) */
    enabled?: boolean;
}): UnifiedSkill;
/**
 * Convert a loaded legacy skill (from SkillLoader) to a UnifiedSkill.
 * Includes additional metadata from the loader.
 *
 * @param loadedSkill - The loaded skill from SkillLoader
 * @returns A UnifiedSkill representation
 */
export declare function legacyLoadedToUnified(loadedSkill: LegacyLoadedSkill): UnifiedSkill;
/**
 * Convert a UnifiedSkill back to a legacy skill format.
 * Useful for backward-compatible operations that require the old format.
 *
 * @param unified - The unified skill to convert
 * @returns A legacy skill object, or null if conversion is not possible
 */
export declare function unifiedToLegacy(unified: UnifiedSkill): LegacySkill | null;
/**
 * Convert a SKILL.md skill to a UnifiedSkill.
 *
 * @param skill - The SKILL.md Skill object
 * @returns A UnifiedSkill representation
 */
export declare function skillMdToUnified(skill: Skill): UnifiedSkill;
/**
 * Convert a UnifiedSkill back to a SKILL.md Skill format.
 * Useful for operations that require the SKILL.md format.
 *
 * @param unified - The unified skill to convert
 * @returns A SKILL.md Skill object
 */
export declare function unifiedToSkillMd(unified: UnifiedSkill): Skill;
