import { Ref } from 'vue'; import { ChipItem } from '../../components/ChipList/types'; export type FilterItem = { name: string; value?: unknown; formatChip?: (value: unknown) => ChipItem[]; chipOverflowLimit?: number; title?: string; }; export type FilterProp = FilterItem[]; export default function useFilterable(model: Ref, emits: any): { filters: Ref<{ name: string; value?: unknown; formatChip?: ((value: unknown) => ChipItem[]) | undefined; chipOverflowLimit?: number | undefined; title?: string | undefined; }[], FilterProp | { name: string; value?: unknown; formatChip?: ((value: unknown) => ChipItem[]) | undefined; chipOverflowLimit?: number | undefined; title?: string | undefined; }[]>; updateValue: () => void; removeChip: (filter: FilterItem, chip: ChipItem) => void; resetFilter: (filter: FilterItem) => void; resetAllFilters: () => void; getChips: (filter: FilterItem) => ChipItem[]; getFilterCount: (filter: FilterItem) => number; formatFilterName: (name: string) => string; };