import { HttpClient } from './utils/http-client.js';
import { ProjectsApi } from './api/projects-api.js';
import { SearchApi } from './api/search-api.js';
import { ContextApi } from './api/context-api.js';
import { ReasoningApi } from './api/reasoning-api.js';
import { CodeModificationApi } from './api/code-modification-api.js';
import { CodeSolverWebSocketClient, AnthropicStreamCallbacks } from './utils/code-solver-websocket-client.js';
import { AgentsApi } from './api/agents-api.js';
import { ChatApi } from './api/chat-api/index.js';
import { CodeSolverSDKOptions } from './interfaces/sdk-options.js';
import { ModelsApi } from './api/models-api.js';
import { DependenciesApi } from './api/dependencies-api.js';
import { ReasoningOptions } from './api/reasoning-api.js';
/**
 * Основной класс SDK для работы с Code Solver API
 * Поддерживает работу как в браузере, так и в Node.js
 */
export declare class CodeSolverSDK {
    /** Опции SDK */
    private readonly _options;
    /** HTTP клиент для запросов к API */
    private httpClient;
    /** WebSocket клиент для работы с реалтайм API */
    private wsClient;
    /** API для работы с агентами */
    private _agents;
    /** API для работы с контекстом */
    private _context;
    /** API для работы с проектами */
    private readonly _projects;
    /** API для поиска кода */
    private readonly _search;
    /** API для работы с рассуждениями */
    private readonly _reasoning;
    /** API для модификации кода */
    private readonly _codeModification;
    /** API для работы с чатом */
    private readonly _chat;
    /** API для работы с моделями */
    private readonly _models;
    /** API для работы с зависимостями */
    private readonly _dependencies;
    /** Среда выполнения */
    private readonly environment;
    /** Глобальный обработчик ошибок */
    private static errorHandler;
    /** Logger для внутреннего использования */
    private readonly logger;
    /**
     * Создает новый экземпляр SDK
     * @param {CodeSolverSDKOptions} options Опции SDK
     */
    constructor(options: CodeSolverSDKOptions);
    /**
     * Проверяет доступность API
     * @returns {Promise<boolean>} Доступен ли API
     */
    checkHealth(): Promise<boolean>;
    /**
     * Получает WebSocket клиент
     * @returns {CodeSolverWebSocketClient} WebSocket клиент
     */
    getWebSocketClient(): CodeSolverWebSocketClient;
    /**
     * API для работы с агентами
     */
    get agents(): AgentsApi;
    /**
     * API для работы с контекстом
     */
    get context(): ContextApi;
    /**
     * API для работы с проектами
     */
    get projects(): ProjectsApi;
    /**
     * API для поиска кода
     */
    get search(): SearchApi;
    /**
     * API для работы с рассуждениями
     */
    get reasoning(): ReasoningApi;
    /**
     * API для модификации кода
     */
    get codeModification(): CodeModificationApi;
    /**
     * Возвращает API для работы с чатом
     * @returns {ChatApi} API для работы с чатом
     */
    get chat(): ChatApi;
    /**
     * API для работы с моделями
     */
    get models(): ModelsApi;
    /**
     * Доступ к API зависимостей
     */
    get dependencies(): DependenciesApi;
    /**
     * Получает опции SDK
     */
    get options(): Readonly<CodeSolverSDKOptions>;
    /**
     * Получает конфигурацию WebSocket
     */
    get wsConfig(): any;
    /**
     * Получает URL для WebSocket соединений
     */
    get wsURL(): string;
    /**
     * Получает HTTP-клиент
     */
    get client(): HttpClient;
    /**
     * Получает текущую среду выполнения
     * @returns {string} Среда выполнения ('browser', 'node', 'unknown')
     */
    getEnvironment(): string;
    /**
     * Закрывает все соединения и освобождает ресурсы
     */
    dispose(): void;
    /**
     * Устанавливает глобальный обработчик ошибок SDK
     * @param {(error: Error) => void} handler Функция-обработчик ошибок
     */
    static setErrorHandler(handler: (error: Error) => void): void;
    /**
     * Обрабатывает ошибку через глобальный обработчик, если он установлен
     * @param {Error} error Ошибка для обработки
     */
    static handleError(error: Error): void;
    /**
     * Возвращает текущую версию SDK
     * @returns {string} Версия SDK
     */
    static getVersion(): string;
    /**
     * Возвращает текущую версию SDK
     * @returns {string} Версия SDK
     */
    getVersion(): string;
    /**
     * Устанавливает новый API ключ для SDK
     * @param {string} apiKey Новый API ключ
     */
    setApiKey(apiKey: string): void;
    /**
     * Подключается к WebSocket серверу
     * @returns {Promise<boolean>} Promise с результатом подключения
     */
    connect(): Promise<boolean>;
    /**
     * Отключается от WebSocket сервера
     * @returns {Promise<void>} Promise без результата
     */
    disconnect(): Promise<void>;
    /**
     * Проверяет, подключен ли SDK к WebSocket серверу
     * @returns {boolean} Статус подключения
     */
    isConnected(): boolean;
    /**
     * Проверяет доступность API (алиас для checkHealth)
     * @returns {Promise<boolean>} Promise с результатом проверки
     */
    isHealthy(): Promise<boolean>;
    /**
     * Проверяет доступность всех сервисов API
     * @returns {Promise<{[key: string]: boolean}>} Статус каждого сервиса
     */
    checkServices(): Promise<{
        [key: string]: boolean;
    }>;
    /**
     * Закрывает соединение с сервером (алиас для dispose)
     */
    close(): Promise<void>;
    /**
     * Выполняет запрос к API для генерации рассуждения с использованием Anthropic API
     * с поддержкой потоковой передачи данных через WebSocket
     *
     * @param {ReasoningOptions} options Опции для рассуждения
     * @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
     * @returns {Promise<void>} Promise без результата
     */
    executeReasoning(options: ReasoningOptions, callbacks: AnthropicStreamCallbacks): Promise<void>;
    /**
     * Настраивает обработчики событий Anthropic API
     * @param {CodeSolverWebSocketClient} wsClient WebSocket клиент
     * @param {AnthropicStreamCallbacks} callbacks Коллбэки для обработки событий
     * @private
     */
    private setupAnthropicEventHandlers;
}
//# sourceMappingURL=code-solver-sdk.d.ts.map