interface AccessibilityInstance { cleanup: () => void; refresh?: () => void; //Menu methods openMenu?: () => void; closeMenu?: () => void; // Accordion methods expandItem?: (index: number) => void; collapseItem?: (index: number) => void; toggleItem?: (index: number) => void; // Tabs methods activateTab?: (index: number, shouldFocus?: boolean) => void; // Radio methods selectRadio?: (index: number) => void; getSelectedIndex?: () => number; // Checkbox methods toggleCheckbox?: (index: number) => void; setCheckboxState?: (index: number, checked: boolean) => void; getCheckedStates?: () => boolean[]; getCheckedIndices?: () => number[]; // Toggle methods toggleButton?: (index: number) => void; setPressed?: (index: number, pressed: boolean) => void; getPressedStates?: () => boolean[]; getPressedIndices?: () => number[]; //Combobox methods openListBox?: () => void; closeListBox?: () => void; } interface AccordionConfig { accordionId: string; triggersClass: string; panelsClass: string; allowMultipleOpen?: boolean; callback?: AccordionCallback; } interface AccordionCallback { onExpandedChange?: (index: number, expanded: boolean) => void; } interface TabsConfig { tabListId: string; tabsClass: string; tabPanelsClass: string; orientation?: "horizontal" | "vertical"; activateOnFocus?: boolean; callback?: TabsCallback; } interface TabsCallback { onSelectedChange?: (index: number, selected: boolean) => void; onContextMenu?: (tabIndex: number, tabElement: HTMLElement) => void; } interface ComboboxConfig { comboboxInputId: string; comboboxButtonId?: string; listBoxId: string; listBoxItemsClass: string; callback?: ComboboxCallback; } interface ComboboxCallback { onSelect?: (item: HTMLElement) => void; onExpandedChange?: (expanded: boolean) => void; onActiveDescendantChange?: (optionId: string, item: HTMLElement) => void; onClear?: () => void; } interface RadioConfig { radioGroupId: string; radiosClass: string; defaultSelectedIndex?: number; callback?: RadioCallback; } interface RadioCallback { onValueChange?: (index: number, value: string) => void; } interface CheckboxConfig { checkboxGroupId: string; checkboxesClass: string; callback?: CheckboxCallback; } interface CheckboxCallback { onCheckedChange?: (index: number, checked: boolean) => void; } interface MenuConfig { menuId: string; menuItemsClass: string; triggerId: string; callback: MenuCallback; } interface MenuCallback { onExpandedChange?: (expanded: boolean) => void; } interface ToggleConfig { toggleId: string; togglesClass?: string; isSingleToggle?: boolean; callback: ToggleCallback; } interface ToggleCallback { onPressedChange: (index: number, pressed: boolean) => void; } export type { AccordionConfig as A, ComboboxConfig as C, MenuConfig as M, RadioConfig as R, TabsConfig as T, AccessibilityInstance as a, CheckboxConfig as b, ToggleConfig as c };