/**
 * События, связанные с рассуждениями от Anthropic API
 */
export interface ReasoningEvents {
    /** Событие начала сообщения */
    message_start: {
        /** ID сообщения */
        id: string;
        /** Тип сообщения */
        type: string;
        /** Роль отправителя */
        role: string;
        /** Модель */
        model?: string;
    };
    /** Событие начала блока контента */
    content_block_start: {
        /** ID блока */
        id: string;
        /** Тип блока */
        type: string;
        /** Тип контента */
        content_type: string;
        /** Индекс блока */
        index: number;
    };
    /** Событие дельты блока контента */
    content_block_delta: {
        /** Индекс блока */
        index: number;
        /** Содержимое дельты */
        delta: {
            /** Тип дельты */
            type: string;
            /** Текстовое содержимое (для дельты text_delta) */
            text?: string;
            /** Содержимое мышления (для дельты thinking_delta) */
            thinking?: string;
            /** Содержимое частичного JSON (для дельты input_json_delta) */
            input_json?: string;
            /** Подпись для верификации (для дельты signature_delta) */
            signature?: string;
        };
    };
    /** Событие остановки блока контента */
    content_block_stop: {
        /** ID блока */
        id: string;
        /** Тип блока */
        type: string;
        /** Тип контента */
        content_type: string;
        /** Индекс блока */
        index: number;
    };
    /** Событие дельты сообщения */
    message_delta: {
        /** ID сообщения */
        id: string;
        /** Дельта сообщения */
        delta: any;
    };
    /** Событие окончания сообщения */
    message_stop: {
        /** ID сообщения */
        id: string;
        /** Тип сообщения */
        type: string;
        /** Роль отправителя */
        role: string;
        /** Модель */
        model?: string;
    };
    /** Событие ошибки */
    error: {
        /** Код ошибки */
        code: string;
        /** Сообщение об ошибке */
        message: string;
        /** Детали ошибки */
        details?: {
            /** HTTP статус */
            status?: number;
            /** Тип ошибки */
            type?: string;
            /** Причина ошибки */
            reason?: string;
        };
    };
}
/**
 * События, связанные с индексацией
 */
export interface IndexingEvents {
    /** Событие индексации файла */
    file_indexed: {
        /** ID проекта */
        projectId: string;
        /** Информация о файле */
        file: {
            /** Путь к файлу */
            path: string;
            /** Язык программирования */
            language: string;
            /** Время индексации */
            indexedAt: number;
            /** Тип изменения */
            changeType: 'semantic' | 'structural' | 'formatting';
        };
    };
    /** Событие завершения индексации проекта */
    indexing_complete: {
        /** ID проекта */
        projectId: string;
        /** Время завершения */
        timestamp: number;
        /** Статистика индексации */
        stats: {
            /** Общее количество файлов */
            totalFiles: number;
            /** Количество проиндексированных файлов */
            indexed: number;
            /** Количество файлов с ошибками */
            failed: number;
            /** Время индексации в миллисекундах */
            time: number;
        };
        /** Версия индекса */
        indexVersion: string;
    };
}
/**
 * Общие события
 */
export interface CommonEvents {
    /** Событие подключения */
    connect: {
        /** ID клиента */
        clientId: string;
    };
    /** Событие отключения */
    disconnect: {
        /** Причина отключения */
        reason: string;
    };
}
/**
 * События, связанные с зависимостями файлов
 */
export interface DependenciesEvents {
    /** Событие обновления зависимостей */
    dependency_update: {
        /** ID проекта */
        projectId: string;
        /** Временная метка */
        timestamp: number;
        /** Затронутые файлы */
        affectedFiles: string[];
    };
}
/**
 * Типы WebSocket событий
 */
export type WebSocketEvents = ReasoningEvents & IndexingEvents & CommonEvents & DependenciesEvents;
//# sourceMappingURL=events.interfaces.d.ts.map