import { BaseEditor } from '../baseEditor'; import type { CellProperties } from '../../settings'; export declare const EDITOR_TYPE = "select"; /** * @private * @class SelectEditor */ export declare class SelectEditor extends BaseEditor { /** * Returns the unique editor type identifier for the select editor. */ static get EDITOR_TYPE(): string; /** * @type {HTMLDivElement} */ selectWrapper: HTMLDivElement; /** * @type {HTMLSelectElement} */ select: HTMLSelectElement; /** * Initializes editor instance, DOM Element and mount hooks. */ init(): void; /** * Returns select's value. * * @returns {*} */ getValue(): unknown; /** * Sets value in the select element. * * @param {*} value A new select's value. */ setValue(value?: unknown): void; /** * Opens the editor and adjust its size. */ open(): void; /** * Closes the editor. */ close(): void; /** * Sets focus state on the select element. */ focus(): void; /** * Binds hooks to refresh editor's size after scrolling of the viewport or resizing of columns/rows. * * @private */ registerHooks(): void; /** * Prepares editor's meta data and a list of available options. * * @param {number} row The visual row index. * @param {number} col The visual column index. * @param {number|string} prop The column property (passed when datasource is an array of objects). * @param {HTMLTableCellElement} td The rendered cell element. * @param {*} value The rendered value. * @param {object} cellProperties The cell meta object (see {@link Core#getCellMeta}). */ prepare(row: number, col: number, prop: string | number, td: HTMLTableCellElement, value: unknown, cellProperties: CellProperties): void; /** * Creates consistent list of available options. * * @private * @param {Array|object} optionsToPrepare The list of the values to render in the select element. * @returns {Array|object} */ prepareOptions(optionsToPrepare?: unknown): unknown[] | Record; /** * Refreshes editor's value using source data. * * @private */ refreshValue(): void; /** * Refreshes editor's size and position. * * @private */ refreshDimensions(): void; /** * Register shortcuts responsible for handling editor. * * @private */ registerShortcuts(): void; /** * Unregister shortcuts responsible for handling editor. * * @private */ unregisterShortcuts(): void; /** * Clears all attached hooks. * * @private */ destroy(): void; }