import { Ref } from 'vue'; /** * État des cases à cocher enfants (une valeur booléenne par enfant). */ export type CheckboxGroupState = boolean[]; /** * Gère un groupe parent/enfants tri-état pour un nombre quelconque de cases à cocher. * * Règles : * - une action individuelle sur un enfant recalcule l'état du parent ; * - lorsque les enfants sont tous cochés ou tous décochés individuellement, la * combinaison partielle mémorisée est oubliée (le parent ne boucle plus que sur deux états) ; * - une activation du parent coche ou décoche tous les enfants sans oublier la combinaison * partielle mémorisée ; * - un retour à l'état indéterminé restaure la dernière combinaison partielle mémorisée. * * @param initialState État initial des enfants (tout coché, tout décoché ou partiel), * OU nombre d'enfants (>= 2) démarrant sur une combinaison partielle par défaut. */ export declare function useTriStateCheckboxGroup(initialState?: CheckboxGroupState | number): { parentChecked: Ref; parentIndeterminate: Ref; canCycleIndeterminate: import('vue').ComputedRef; childrenChecked: Ref[]; handleParentModelUpdate: (value: boolean) => void; handleParentIndeterminateUpdate: (isIndeterminate: boolean) => void; };