/**
 * Platform-specific skill deployment path resolution
 *
 * @module smiths/skillsmith/platform-resolver
 */
import type { Platform } from '../../agents/types.js';
import type { PlatformSkillConfig } from './types.js';
/**
 * Resolve platform-specific skill paths
 */
export declare class PlatformSkillResolver {
    /**
     * Get platform configuration for skills
     */
    static getConfig(platform: Platform): PlatformSkillConfig;
    /**
     * Get base directory for skills on a platform.
     * Supports home-dir paths (baseDir starting with `~/`) for platforms like Codex and OpenClaw.
     */
    static getBaseDir(platform: Platform, projectPath: string): string;
    /**
     * Get path for a specific skill
     */
    static getSkillPath(platform: Platform, projectPath: string, skillName: string): string;
    /**
     * Get path for SKILL.md file
     */
    static getSkillFilePath(platform: Platform, projectPath: string, skillName: string): string;
    /**
     * Get path for references directory
     */
    static getReferencesPath(platform: Platform, projectPath: string, skillName: string): string;
    /**
     * Check if platform natively supports skills
     */
    static supportsSkills(platform: Platform): boolean;
    /**
     * Get alternative deployment strategy for platforms without skill support
     */
    static getAlternativeStrategy(platform: Platform): 'command' | 'agent' | 'none' | undefined;
    /**
     * Compute the canonical namespaced slug for a skill.
     *
     * Idempotent: if `name` already starts with `{namespace}-`, returns `name` unchanged.
     * This prevents double-prefixing existing `aiwg-*` skills (e.g. `aiwg-sync` → `aiwg-sync`,
     * not `aiwg-aiwg-sync`).
     *
     * @param name - Skill folder name (e.g. 'sync', 'aiwg-sync')
     * @param namespace - Namespace prefix (e.g. 'aiwg')
     * @returns Canonical slug (e.g. 'aiwg-sync')
     */
    static computeCanonicalSlug(name: string, namespace: string): string;
    /**
     * Get path for a namespaced skill deployment.
     *
     * Platforms with subdirectory support deploy under `{baseDir}/{namespace}/{slug}/`.
     * Windsurf (1-level discovery) deploys flat at `{baseDir}/{slug}/`.
     *
     * @param platform - Target platform
     * @param projectPath - Project root directory
     * @param skillName - Skill folder name (e.g. 'sync')
     * @param namespace - Namespace prefix (e.g. 'aiwg')
     * @returns Full deployment directory path
     */
    static getNamespacedSkillPath(platform: Platform, projectPath: string, skillName: string, namespace: string): string;
    /**
     * Get path for the SKILL.md file under namespaced deployment layout.
     *
     * @param platform - Target platform
     * @param projectPath - Project root directory
     * @param skillName - Skill folder name
     * @param namespace - Namespace prefix (e.g. 'aiwg')
     * @returns Full path to SKILL.md
     */
    static getNamespacedSkillFilePath(platform: Platform, projectPath: string, skillName: string, namespace: string): string;
    /**
     * Validate skill name format
     */
    static validateSkillName(name: string): {
        valid: boolean;
        error?: string;
    };
}
//# sourceMappingURL=platform-resolver.d.ts.map