/**
 * Реактивный composable для валидации чатов
 */
import { type Ref } from 'vue';
import { type ValidationResult } from './chatValidator';
export interface UseChatValidatorOptions {
    autoValidate?: boolean;
    debounce?: number;
}
export interface UseChatValidatorReturn {
    validationResult: Ref<ValidationResult | null>;
    isValid: Ref<boolean>;
    errors: Ref<ValidationResult['errors']>;
    warnings: Ref<ValidationResult['warnings']>;
    errorCount: Ref<number>;
    warningCount: Ref<number>;
    report: Ref<string>;
    validate: () => ValidationResult;
    reset: () => void;
    showReport: () => void;
}
/**
 * Composable для реактивной валидации чатов
 *
 * @param chatsData - реактивная ссылка на данные чатов
 * @param options - опции валидатора
 * @returns объект с реактивными свойствами и методами валидации
 *
 * @example
 * ```ts
 * import { ref } from 'vue';
 * import { useChatValidator } from '@/apps/validators/useChatValidator';
 * import { chats } from '@/apps/data/chats';
 *
 * const chatsData = ref(chats);
 * const { isValid, errorCount, showReport } = useChatValidator(chatsData, {
 *   autoValidate: true,
 *   debounce: 300
 * });
 *
 * // Валидация запускается автоматически
 * console.log(isValid.value); // true/false
 * console.log(errorCount.value); // количество ошибок
 *
 * // Показать полный отчет в консоли
 * showReport();
 * ```
 */
export declare function useChatValidator(chatsData: Ref<any>, options?: UseChatValidatorOptions): UseChatValidatorReturn;
