import type { Writable } from 'svelte/store'; export type Value = string | number; export type AriaOrientation = 'vertical' | 'horizontal' | null | undefined; export interface Option { val: Value; uuid: string; node?: HTMLElement; } export interface ListboxAPI { groupID: string; multiselect: boolean; activeIndex: Writable; setActive: (type: 'inc' | 'dec') => void; selectedIndex: Writable; isOpen: Writable; setIsOpen: (b?: boolean) => void; setSelected: () => void; registerOption: (uuid: string, val: string | number) => number; unregisterOption: (uuid: string) => void; }