import { BindingEventService } from '@slickgrid-universal/binding'; import type { BasePubSubService } from '@slickgrid-universal/event-pub-sub'; import { SlickEventHandler, type SlickDataView, type SlickEventData, type SlickGrid } from '../core/index.js'; import type { SelectionModel } from '../enums/index.js'; import type { CheckboxSelectorOption, Column, DOMMouseOrTouchEvent, GridOption, OnHeaderClickEventArgs, OnKeyDownEventArgs, SelectableOverrideCallback } from '../interfaces/index.js'; export interface RowLookup { [row: number]: boolean; } export declare class SlickCheckboxSelectColumn { protected readonly pubSubService: BasePubSubService; readonly pluginName = "CheckboxSelectColumn"; protected _defaults: CheckboxSelectorOption; protected _addonOptions: CheckboxSelectorOption; protected _bindEventService: BindingEventService; protected _checkboxColumnCellIndex: number | null; protected _dataView: SlickDataView; protected _eventHandler: SlickEventHandler; protected _headerRowNode?: HTMLElement; protected _grid: SlickGrid; protected _isSelectAllChecked: boolean; protected _isPartialSelectAllChecked: boolean; protected _isUsingDataView: boolean; protected _rowSelectionModel?: SelectionModel; protected _selectableOverride?: SelectableOverrideCallback | number; protected _selectAll_UID: number; protected _selectedRowsLookup: RowLookup; protected _timer?: any; constructor(pubSubService: BasePubSubService, options?: CheckboxSelectorOption); get addonOptions(): CheckboxSelectorOption; get headerRowNode(): HTMLElement | undefined; /** Getter for the Grid Options pulled through the Grid Object */ get gridOptions(): GridOption; get selectAllUid(): number; set selectedRowsLookup(selectedRows: RowLookup); init(grid: SlickGrid): void; dispose(): void; /** * Create the plugin before the Grid creation to avoid having odd behaviors. * Mostly because the column definitions might change after the grid creation, so we want to make sure to add it before then */ create(columns: Column[], gridOptions: GridOption): SlickCheckboxSelectColumn | null; getOptions(): CheckboxSelectorOption; setOptions(options: CheckboxSelectorOption): void; deSelectRows(rowArray: number[]): void; selectRows(rowArray: number[]): void; /** * use a DocumentFragment to return a fragment including an then a