import type { Emitter } from 'mitt'; import type { Ref } from 'vue'; /** * State shared in a group of inputs */ export type InputGroupState = { modelValue: Ref; readonly: Ref; disabled: Ref; valid: Ref; invalid: Ref; }; /** * State shared in a group of buttons */ export type ButtonGroupState = { modelValue: Ref; disabled: Ref; toggle: Ref; multiple: Ref; unselectable: Ref; modifiers: Ref; }; /** * State shared in a group of accordions */ export type AccordionGroupBusEvents = { toggle: { name: string; value: boolean; }; register: { name: string; }; unregister: { name: string; }; expand: { name?: string | string[]; }; collapse: { name?: string | string[]; }; }; export type AccordionGroupState = { disabled: Ref; modifiers: Ref; bus: Emitter; }; /** * State shared in a group of alerts */ export type AlertGroupBusEvents = { close: string; }; export type AlertGroupState = { name?: Ref; bus?: Emitter; };