/** * Converts value to an array. * If the value is a JSON string representing an array, it will be parsed. * If the value is already an array, it is returned. * If the value is undefined, it returns undefined. * @private * @param {any} value - The value to be converted. Can be a string, array, or undefined. * @returns {Array|undefined} - The converted array or undefined. * @throws {Error} - Throws an error if the value is not an array, undefined, * or if the value cannot be parsed into an array from a JSON string. */ export function arrayConverter(value: any): any[] | undefined; /** * Compare two arrays for equality. * @private * @param {Array} arr1 - First array to compare. * @param {Array} arr2 - Second array to compare. * @returns {boolean} True if arrays are equal. */ export function arraysAreEqual(arr1: any[], arr2: any[]): boolean; /** * Validates if an option can be interacted with. * @private * @param {HTMLElement} option - The option to check. * @returns {boolean} True if option is interactive. */ export function isOptionInteractive(option: HTMLElement): boolean; /** * Helper method to dispatch custom events. * @param {HTMLElement} element - Element to dispatch event from. * @param {string} eventName - Name of the event to dispatch. * @param {Object} [detail] - Optional detail object to include with the event. */ export function dispatchMenuEvent(element: HTMLElement, eventName: string, detail?: any): void;