import type { Api } from 'datatables.net'; /** * Detects Select through its public row API extension. * * @param table - Public DataTables API. * @returns Whether Select has extended the table API. */ export declare function hasSelectIntegration(table: Api): boolean; /** * Owns optional Select event listeners for one editor instance. */ export declare class SelectIntegration { private readonly table; private readonly onSelectionChange; private readonly isAvailable; private isDestroyed; /** * Detects Select and subscribes to row selection changes when available. * * @param table - Public DataTables API. * @param onSelectionChange - Integration update callback. */ constructor(table: Api, onSelectionChange: () => void); /** * Reports whether Select extended this table. * * @returns Current immutable capability result. */ available(): boolean; /** * Returns selected row indexes using the public Select selector modifier. * * @param unavailableMessage - Localized explanation used when Select is absent. * @returns Selected DataTables row indexes. * @throws EditorSelectionUnavailableError when Select is absent. */ selectedRowIndexes(unavailableMessage?: string): readonly number[]; /** * Removes the owned Select listeners. Repeated calls are harmless. */ destroy(): void; private readonly handleSelectionChange; }