import { ComputedRef, MaybeRefOrGetter, Ref } from 'vue'; import { Item, Items } from './types'; interface UseTableBulkActionsParams { /** Liste des lignes affichées (filtrées). */ items: Ref | ComputedRef; /** Sélection (v-model) : tableau des valeurs de ligne (clés ou objets). */ model: Ref; /** Fonction d'identité de ligne, partagée avec la sélection. */ getItemValue: (item: Item) => unknown; /** Prop `showSelect` du tableau (la barre nécessite la sélection). */ showSelect?: MaybeRefOrGetter; /** Indique si un slot `#bulk-actions` est fourni par le consommateur. */ hasBulkActionsSlot?: MaybeRefOrGetter; } interface UseTableBulkActionsReturn { /** Lignes sélectionnées, résolues en objets complets. */ selectedItems: ComputedRef; /** Vide la sélection. */ clearSelection: () => void; /** * Affiche la barre d'actions groupées : sélection activée, au moins une * ligne cochée et un slot `#bulk-actions` fourni par le projet. */ showBulkActions: ComputedRef; } /** * Résout la sélection multiple des tableaux du DS : transforme le `v-model` * (qui ne contient que des clés/valeurs de ligne) en objets de ligne complets, * fournit l'effacement de la sélection et la visibilité de la barre. * * Les actions groupées elles-mêmes (édition, suppression…) sont **laissées à la * charge du projet consommateur** via le slot `#bulk-actions`. */ export declare function useTableBulkActions({ items, model, getItemValue, showSelect, hasBulkActionsSlot, }: UseTableBulkActionsParams): UseTableBulkActionsReturn; export {};