import { Ref } from 'vue'; export type CheckedItemsInterface = { /** * Массив выбранных элементов */ checkedItems: Ref; /** * Метод проверки выбран ли элемент * * @param item - элемент */ isChecked(item: any): boolean; /** * Метод очищения выбранных элементов * * @param onCheckItem - хук, срабатывающий после очищения */ clearChecked(onCheckItem?: (items: any[]) => void): void; /** * Метод смены типа на одиночный или множественный выбор * * @param newType - тип */ changeType(newType: 'one' | 'many'): void; /** * Метод отметки элемента * * @param item - элемент * @param onCheckItem - хук, срабатывающий после отметки элемента * @param canCheckExactItem - callback, устанавливающий можно ли отметить конкретный элемент */ check(item: any, onCheckItem?: (items: any[]) => void, canCheckExactItem?: (item: any) => boolean): void; /** * Метод отметки всех элементов * * @param items - массив элементов * @param onCheckItem - хук, срабатывающий после отметки элемента * @param canCheckExactItem - callback, устанавливающий можно ли отметить конкретный элемент */ checkAll(items: any[], onCheckItem?: (items: any[]) => void, canCheckExactItem?: (item: any) => boolean): void; }; export default function useCheckedItems(defaultCheckedItems?: any[], type?: 'one' | 'many'): CheckedItemsInterface;