/**
 * Language Manager
 *
 * Central manager for all i18n operations in SpecWeave.
 * Coordinates language detection, switching, and translation.
 *
 * @module core/i18n
 */
import { SupportedLanguage, I18nConfig, UserLanguagePreference, LanguageConfig, LocaleStrings } from './types.js';
/**
 * Central language manager singleton
 */
export declare class LanguageManager {
    private currentLanguage;
    private config;
    private userPreference?;
    constructor(config?: Partial<I18nConfig>);
    /**
     * Get current language
     */
    getCurrentLanguage(): SupportedLanguage;
    /**
     * Set current language
     */
    setCurrentLanguage(language: SupportedLanguage): void;
    /**
     * Get language configuration
     */
    getLanguageConfig(language?: SupportedLanguage): LanguageConfig;
    /**
     * Get locale strings for current language
     */
    getLocaleStrings(language?: SupportedLanguage): LocaleStrings;
    /**
     * Get all available languages
     */
    getAvailableLanguages(): import("./types.js").LanguageMetadata[];
    /**
     * Check if language is enabled
     */
    isLanguageEnabled(language: SupportedLanguage): boolean;
    /**
     * Enable a language
     */
    enableLanguage(language: SupportedLanguage): void;
    /**
     * Disable a language
     */
    disableLanguage(language: SupportedLanguage): void;
    /**
     * Set user language preference
     */
    setUserPreference(preference: UserLanguagePreference): void;
    /**
     * Get user language preference
     */
    getUserPreference(): UserLanguagePreference | undefined;
    /**
     * Auto-detect language from content
     */
    detectLanguage(content?: string): SupportedLanguage;
    /**
     * Apply language to project
     * Injects system prompts into all skills/agents/commands
     */
    applyLanguageToProject(projectPath: string, targetLanguage: SupportedLanguage, options?: {
        includeSkills?: boolean;
        includeAgents?: boolean;
        includeCommands?: boolean;
        overwrite?: boolean;
    }): Promise<void>;
    /**
     * Save configuration to file
     */
    saveConfig(configPath: string): Promise<void>;
    /**
     * Load configuration from file
     */
    loadConfig(configPath: string): Promise<void>;
}
/**
 * Get singleton instance
 */
export declare function getLanguageManager(config?: Partial<I18nConfig>): LanguageManager;
/**
 * Reset singleton (for testing)
 */
export declare function resetLanguageManager(): void;
/**
 * Static utility: Get system prompt for language
 */
export declare function getSystemPromptForLanguage(language: SupportedLanguage): string;
/**
 * Static utility: Check if language is supported
 */
export declare function isLanguageSupported(code: string): code is SupportedLanguage;
/**
 * Static utility: Get all supported languages
 */
export declare function getSupportedLanguages(): SupportedLanguage[];
//# sourceMappingURL=language-manager.d.ts.map