/**
 * Реактивный composable для валидации sidebar items
 */
import { type Ref } from 'vue';
import { type SidebarValidationResult } from './sidebarValidator';
export interface UseSidebarValidatorOptions {
    autoValidate?: boolean;
    debounce?: number;
}
export interface UseSidebarValidatorReturn {
    validationResult: Ref<SidebarValidationResult | null>;
    isValid: Ref<boolean>;
    errors: Ref<SidebarValidationResult['errors']>;
    warnings: Ref<SidebarValidationResult['warnings']>;
    errorCount: Ref<number>;
    warningCount: Ref<number>;
    report: Ref<string>;
    validate: () => SidebarValidationResult;
    reset: () => void;
    showReport: () => void;
}
/**
 * Composable для реактивной валидации sidebar items
 *
 * @param sidebarData - реактивная ссылка на данные sidebar items
 * @param options - опции валидатора
 * @returns объект с реактивными свойствами и методами валидации
 *
 * @example
 * ```ts
 * import { ref } from 'vue';
 * import { useSidebarValidator } from '@/apps/validators/sidebar';
 * import { sidebarItems } from '@/apps/data/sidebarItems';
 *
 * const sidebarData = ref(sidebarItems);
 * const { isValid, errorCount, showReport } = useSidebarValidator(sidebarData, {
 *   autoValidate: true,
 *   debounce: 300
 * });
 *
 * // Показать полный отчет в консоли
 * showReport();
 * ```
 */
export declare function useSidebarValidator(sidebarData: Ref<any>, options?: UseSidebarValidatorOptions): UseSidebarValidatorReturn;
