/**
 * 🔧 Delta-Chunking Utilities
 * Утилиты для обработки файлов, чанков и шифрования
 */
import { FileContent } from '../types/delta-chunking.js';
import { ProjectsApi } from '../api/projects-api.js';
import { CodeSolverSDKOptions } from '../interfaces/sdk-options.js';
/**
 * Утилиты для Delta-Chunking операций
 */
export declare class DeltaChunkingUtils {
    private readonly projects;
    private readonly options;
    private readonly environment;
    private readonly logger;
    constructor(projects: ProjectsApi, options: CodeSolverSDKOptions, environment: 'browser' | 'node' | 'unknown', logger: {
        log: (message: string) => void;
        warn: (message: string) => void;
        error: (message: string) => void;
    });
    /**
     * Валидация проекта через Projects API
     */
    validateProject(projectId: string): Promise<void>;
    /**
     * Создание чанков из готовых файлов (полученных от клиента)
     *
     * ✅ ПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ:
     * Client Extension подготавливает массив FileContent и передает в Backend SDK
     * Backend SDK обрабатывает готовые данные и создает чанки для отправки на сервер
     */
    createChunksFromFiles(files: FileContent[]): Promise<any[]>;
    /**
     * Разбиение файла на чанки
     *
     * ✅ АРХИТЕКТУРА 2025: Используем размер в символах вместо неточной токенизации
     *
     * ПОЧЕМУ ИЗМЕНИЛИ:
     * - SDK не должен принимать решения о токенах - он не имеет точной информации
     * - На Backend есть точный подсчет токенов через Anthropic API
     * - Backend может делать перечанковку с точной токенизацией
     * - SDK создает чанки по символам, Backend оптимизирует по токенам
     */
    chunkFile(file: FileContent): Promise<any[]>;
    /**
     * Шифрование чанков
     */
    encryptChunks(chunks: any[]): Promise<any[]>;
    /**
     * Кросс-платформенная хеш-функция
     *
     * ✅ ПРАВИЛЬНОЕ ИСПОЛЬЗОВАНИЕ:
     * Для хеширования контента чанков и вспомогательных вычислений
     * НЕ для вычисления clientRootHash - это делает клиент!
     */
    calculateHash(content: string): string;
    /**
     * Обфускация пути файла
     */
    private obfuscatePath;
    /**
     * Определение типа чанка по содержимому
     */
    private detectChunkType;
    /**
     * Определение языка программирования по расширению файла
     */
    private detectLanguage;
    /**
     * Вычисляет хэш файла для отслеживания изменений
     * ✅ ИСПРАВЛЕНО: Унифицировано с основной hash функцией для кросс-платформенности
     */
    calculateFileHash(content: string): string;
}
//# sourceMappingURL=delta-chunking-utils.d.ts.map