import type {ComputedRef, InjectionKey} from 'vue' export interface AccordionItemRegistration { value: string getHeaderEl: () => HTMLElement | null isDisabled: () => boolean } export interface AccordionContext { mode: ComputedRef<'single' | 'multiple'> baseId: ComputedRef isOpen: (value: string) => boolean toggle: (value: string) => void register: (item: AccordionItemRegistration, defaultOpen: boolean) => void unregister: (value: string) => void focusSibling: (value: string, offset: 1 | -1) => void } export const accordionContextKey: InjectionKey = Symbol('MalioAccordion')