import type { HotInstance } from '../../../core/types'; import type { BaseUIOptions } from './_base'; import { BaseUI } from './_base'; import { InputUI } from './input'; import { LinkUI } from './link'; interface SelectItem { checked: boolean; value: unknown; visualValue?: string; [key: string]: unknown; } /** * @private * @class MultipleSelectUI */ export declare class MultipleSelectUI extends BaseUI { #private; /** * Returns the default configuration options for the multiple select UI component. */ static get DEFAULTS(): BaseUIOptions; /** * Initializes the multiple select UI component, creates child input and link components, and registers event hooks. */ constructor(hotInstance: HotInstance, options: Record); /** * Gets the instance of the internal Handsontable that acts here as a listbox component. * * @returns {Handsontable} */ getItemsBox(): HotInstance | null; /** * Register all necessary hooks. */ registerHooks(): void; /** * Set available options. * * @param {Array} items Array of objects with `checked` and `label` property. */ setItems(items: Record[]): void; /** * Set a locale for the component. * * @param {string} locale Locale used for filter actions performed on data, ie. `en-US`. */ setLocale(locale: string): void; /** * Get a locale for the component. * * @returns {string} */ getLocale(): string; /** * Get all available options. * * @returns {Array} */ getItems(): SelectItem[]; /** * Get element value. * * @returns {Array} Array of selected values. */ getValue(): unknown[]; /** * Gets the instance of the search input element. * * @returns {InputUI} */ getSearchInputElement(): InputUI | null; /** * Gets the instance of the "select all" link element. * * @returns {LinkUI} */ getSelectAllElement(): LinkUI | null; /** * Gets the instance of the "clear" link element. * * @returns {LinkUI} */ getClearAllElement(): LinkUI | null; /** * Check if all values listed in element are selected. * * @returns {boolean} */ isSelectedAllValues(): boolean; /** * Build DOM structure. */ build(): void; /** * Focus element. */ focus(): void; /** * Reset DOM structure. */ reset(): void; /** * Update DOM structure. */ update(): void; /** * Destroy instance. */ destroy(): void; } export default MultipleSelectUI;