/**
 * Skill Configuration Manager
 *
 * Handles skill-specific configuration and environment variables.
 *
 */
import type { SkillConfig, SkillsConfig, Skill } from './types.js';
/**
 * Resolve skill configuration from multiple sources
 *
 * Priority (highest to lowest):
 * 1. Environment variable overrides (XOPC_SKILL_<NAME>_<KEY>)
 * 2. Config file entries
 * 3. Skill defaults
 */
export declare function resolveSkillConfig(skill: Skill, skillsConfig?: SkillsConfig): SkillConfig;
/**
 * Apply environment variable overrides to a skill's environment
 */
export declare function applySkillEnvOverrides(skill: Skill, baseEnv?: Record<string, string>, skillConfig?: SkillConfig): Record<string, string>;
/**
 * Get the effective environment for a skill
 */
export declare function getSkillEnvironment(skill: Skill, skillsConfig?: SkillsConfig): Record<string, string>;
/**
 * Skill configuration file manager
 */
export interface SkillConfigFile {
    /** Path to the config file */
    configPath: string;
    /** Load configuration */
    load: () => SkillsConfig;
    /** Save configuration */
    save: (config: SkillsConfig) => void;
    /** Get skill-specific config */
    getSkillConfig: (skillName: string) => SkillConfig | undefined;
    /** Update skill configuration */
    updateSkillConfig: (skillName: string, config: Partial<SkillConfig>) => void;
    /** Enable/disable a skill */
    setSkillEnabled: (skillName: string, enabled: boolean) => void;
    /** Set skill API key */
    setSkillApiKey: (skillName: string, apiKey: string) => void;
}
/**
 * Create a skill configuration file manager
 */
export declare function createSkillConfigManager(configDir: string): SkillConfigFile;
/**
 * Check if a skill is enabled
 */
export declare function isSkillEnabled(skill: Skill, skillsConfig?: SkillsConfig): boolean;
/**
 * Validate skill configuration
 */
export declare function validateSkillConfig(config: SkillsConfig): {
    valid: boolean;
    errors: string[];
};
