import type { TranslationFile, I18nConfig } from '../types/index.js';
export declare class FileManager {
    private config;
    private watchers;
    private cache;
    private operationsInProgress;
    constructor(config: I18nConfig);
    private getOperationKey;
    loadTranslationFile(language: string, namespace: string): Promise<TranslationFile>;
    saveTranslationFile(language: string, namespace: string, content: Record<string, unknown>, createBackup?: boolean): Promise<void>;
    loadAllTranslationFiles(): Promise<TranslationFile[]>;
    createBackup(filePath: string): Promise<string>;
    watchFiles(callback: (event: string, filePath: string) => void): Promise<void>;
    stopWatching(): Promise<void>;
    private invalidateCache;
    private sortObjectKeys;
    ensureDirectoryStructure(): Promise<void>;
    getFileStats(): Promise<{
        totalFiles: number;
        totalSize: number;
        lastModified: Date;
        filesByLanguage: Record<string, number>;
        filesByNamespace: Record<string, number>;
    }>;
    clearCache(): void;
    getCacheStats(): {
        size: number;
        keys: string[];
    };
}
