/**
 * API для работы с чатом
 */
import { IHttpClient } from '../../interfaces/http-client';
import { ChatService } from './interfaces';
import { ChatMessage, ChatOptions, ChatResponse, ChatStreamChunk, ChatStreamOptions, ThinkingStreamResponse, WebSocketConnectResponse, EventHandler } from './models';
export * from './models';
export * from './interfaces';
/**
 * API для работы с чатом
 */
export declare class ChatApi implements ChatService {
    private readonly httpClient;
    /**
     * Создает новый экземпляр API для работы с чатом
     * @param {IHttpClient} httpClient HTTP клиент
     */
    constructor(httpClient: IHttpClient);
    /**
     * Отправляет сообщение в чат и получает ответ от модели
     * @param {ChatMessage[]} messages Массив сообщений для отправки
     * @param {ChatOptions} [options] Дополнительные параметры
     * @returns {Promise<ChatResponse>} Ответ модели
     */
    chat(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>;
    /**
     * Алиас для метода chat для совместимости с другими SDK
     * @param {ChatMessage[]} messages Массив сообщений для отправки
     * @param {ChatOptions} [options] Дополнительные параметры
     * @returns {Promise<ChatResponse>} Ответ модели
     */
    chatCompletion(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>;
    /**
     * Проверяет доступность API чата
     * @returns {Promise<boolean>} Результат проверки
     */
    checkAvailability(): Promise<boolean>;
    /**
     * Отправляет сообщение в чат и получает ответ от модели
     * с автоматическим переключением между регионами при ошибках перегрузки
     * @param {ChatMessage[]} messages Массив сообщений для отправки
     * @param {ChatOptions} [options] Дополнительные параметры
     * @returns {Promise<ChatResponse>} Ответ модели
     */
    chatWithRegionFailover(messages: ChatMessage[], options?: ChatOptions): Promise<ChatResponse>;
    /**
     * Отправляет одиночный запрос к модели с автоматическим переключением регионов
     * @param {string} prompt Запрос к модели
     * @param {ChatOptions} [options] Дополнительные параметры
     * @returns {Promise<string>} Текстовый ответ модели
     */
    sendPromptWithRegionFailover(prompt: string, options?: ChatOptions): Promise<string>;
    /**
     * Отправляет сообщение в чат в потоковом режиме
     * @param {ChatMessage[]} messages Массив сообщений для отправки
     * @param {ChatStreamOptions} [options] Дополнительные параметры
     * @returns {AsyncGenerator<ChatStreamChunk>} Асинхронный генератор чанков ответа
     */
    streamChat(messages: ChatMessage[], options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>;
    /**
     * Отправляет запрос к модели в потоковом режиме (упрощенный интерфейс)
     * @param {string} prompt Запрос к модели
     * @param {ChatStreamOptions} [options] Дополнительные параметры
     * @returns {AsyncGenerator<ChatStreamChunk>} Асинхронный генератор чанков ответа
     */
    streamPrompt(prompt: string, options?: ChatStreamOptions): AsyncGenerator<ChatStreamChunk>;
    /**
     * Создает новое WebSocket соединение для потокового чата
     * @returns {Promise<WebSocketConnectResponse>} Информация о созданном соединении
     */
    connectWebSocket(): Promise<WebSocketConnectResponse>;
    /**
     * Отправляет сообщение в чат в потоковом режиме с поддержкой thinking через WebSocket
     * @param {ChatMessage[]} messages Массив сообщений для отправки
     * @param {ChatStreamOptions} [options] Дополнительные параметры
     * @param {EventHandler} [onEvent] Обработчик событий WebSocket
     * @returns {Promise<ThinkingStreamResponse>} Информация о потоковом запросе
     */
    streamChatWithThinking(messages: ChatMessage[], options?: ChatStreamOptions, onEvent?: EventHandler): Promise<ThinkingStreamResponse>;
}
//# sourceMappingURL=index.d.ts.map