import { BaseWebSocketClient, BaseWebSocketClientOptions } from './base-ws-client.js';
/**
 * Опции WebSocket клиента для индексации
 */
export interface IndexingWebSocketClientOptions extends BaseWebSocketClientOptions {
    /** ID проекта */
    projectId?: string;
}
/**
 * WebSocket клиент для пространства имен индексации
 */
export declare class IndexingWebSocketClient extends BaseWebSocketClient {
    /** ID активного проекта */
    private activeProjectId;
    /**
     * Создает новый WebSocket клиент для индексации
     * @param {string} baseURL Базовый URL API
     * @param {IndexingWebSocketClientOptions} options Опции клиента
     */
    constructor(baseURL: string, options?: IndexingWebSocketClientOptions);
    /**
     * Подключается к серверу WebSocket
     * @param {boolean} autoJoin Автоматически присоединиться к проекту
     * @returns {Promise<boolean>} Успешность подключения
     */
    connectToIndexing(autoJoin?: boolean): Promise<boolean>;
    /**
     * Присоединяется к проекту
     * @param {string} projectId ID проекта
     * @returns {Promise<boolean>} Успешность операции
     */
    joinProject(projectId: string): Promise<boolean>;
    /**
     * Запускает процесс индексации проекта
     * @param {string} [projectId] ID проекта (если не указан, используется текущий проект)
     * @returns {Promise<boolean>} Успешность операции
     */
    startIndexing(projectId?: string): Promise<boolean>;
    /**
     * Останавливает процесс индексации проекта
     * @param {string} [projectId] ID проекта (если не указан, используется текущий проект)
     * @returns {Promise<boolean>} Успешность операции
     */
    stopIndexing(projectId?: string): Promise<boolean>;
    /**
     * Получает статус индексации проекта
     * @param {string} [projectId] ID проекта (если не указан, используется текущий проект)
     * @returns {Promise<any>} Статус индексации проекта
     */
    getIndexingStatus(projectId?: string): Promise<any>;
    /**
     * Устанавливает обработчик для события завершения индексации
     * @param {Function} handler Обработчик события
     */
    onIndexingComplete(handler: (data: any) => void): void;
    /**
     * Устанавливает обработчик для события индексации файла
     * @param {Function} handler Обработчик события
     */
    onFileIndexed(handler: (data: any) => void): void;
    /**
     * Устанавливает обработчик для события ошибки индексации
     * @param {Function} handler Обработчик события
     */
    onIndexingError(handler: (data: any) => void): void;
    /**
     * Получает текущий ID активного проекта
     * @returns {string | null} ID активного проекта или null
     */
    getActiveProjectId(): string | null;
    /**
     * Устанавливает ID активного проекта
     * @param {string} projectId ID проекта
     * @returns {boolean} Успешность установки
     */
    setActiveProjectId(projectId: string): boolean;
}
//# sourceMappingURL=indexing-ws-client.d.ts.map