import type { Column, ContainerService, CurrentFilter, CurrentSorter, CustomDataView, DragRowMove, ExportTextDownloadOption, ExtensionList, GridMenuCommandItemCallbackArgs, GridMenuEventWithElementCallbackArgs, GridOption, GridSize, GridStateChange, HeaderButtonOnCommandArgs, HeaderMenuCommandItemCallbackArgs, MenuCommandItemCallbackArgs, MenuFromCellCallbackArgs, MenuOptionItemCallbackArgs, OnActiveCellChangedEventArgs, OnAddNewRowEventArgs, OnAutosizeColumnsEventArgs, OnBeforeAppendCellEventArgs, OnBeforeCellEditorDestroyEventArgs, OnBeforeColumnsResizeEventArgs, OnBeforeEditCellEventArgs, OnBeforeFooterRowCellDestroyEventArgs, OnBeforeHeaderCellDestroyEventArgs, OnBeforeHeaderRowCellDestroyEventArgs, OnBeforeSetColumnsEventArgs, OnCellChangeEventArgs, OnCellCssStylesChangedEventArgs, OnClickEventArgs, OnColumnsChangedArgs, OnColumnsDragEventArgs, OnColumnsReorderedEventArgs, OnColumnsResizeDblClickEventArgs, OnColumnsResizedEventArgs, OnCompositeEditorChangeEventArgs, OnContextMenuArgs, OnDblClickEventArgs, OnDragReplaceCellsEventArgs, OnFooterClickEventArgs, OnFooterContextMenuEventArgs, OnFooterRowCellRenderedEventArgs, OnFormattedDataCacheCompletedEventArgs, OnFormattedDataCacheProgressEventArgs, OnGroupCollapsedEventArgs, OnGroupExpandedEventArgs, OnHeaderCellRenderedEventArgs, OnHeaderClickEventArgs, OnHeaderContextMenuEventArgs, OnHeaderMouseEventArgs, OnHeaderRowCellRenderedEventArgs, OnKeyDownEventArgs, OnLocalSortChangedArgs, OnRenderedEventArgs, OnRowCountChangedEventArgs, OnRowsChangedEventArgs, OnRowsOrCountChangedEventArgs, OnScrollEventArgs, OnSearchChangeEventArgs, OnSelectedRowIdsChangedEventArgs, OnSelectedRowsChangedEventArgs, OnSetItemsCalledEventArgs, OnSetOptionsEventArgs, OnValidationErrorEventArgs, Pagination, PaginationMetadata, PagingInfo, ReactRegularEventHandler, ReactSlickEventHandler, SingleColumnSort, SlickControlList, SlickGrid, SlickPluginList, SlickRange, TreeToggleStateChange } from '@slickgrid-universal/common'; import type { SlickgridReactInstance } from '../models/index.js'; import type { TranslaterI18NextService } from '../services/translaterI18Next.service.js'; export interface SlickgridReactProps { header?: React.ReactElement; footer?: React.ReactElement; containerService: ContainerService; translaterService?: TranslaterI18NextService; customDataView?: CustomDataView; dataset: any[]; datasetHierarchical?: any[] | null; extensions?: ExtensionList; gridId: string; options?: GridOption; columns: Column[]; instances?: SlickgridReactInstance; paginationOptions?: Pagination; onActiveCellChanged?: ReactSlickEventHandler; onActiveCellPositionChanged?: ReactSlickEventHandler<{ grid: SlickGrid; }>; onAddNewRow?: ReactSlickEventHandler; onAutosizeColumns?: ReactSlickEventHandler; onBeforeAppendCell?: ReactSlickEventHandler; onBeforeCellEditorDestroy?: ReactSlickEventHandler; onBeforeColumnsResize?: ReactSlickEventHandler; onBeforeDestroy?: ReactSlickEventHandler<{ grid: SlickGrid; }>; onBeforeEditCell?: ReactSlickEventHandler; onBeforeHeaderCellDestroy?: ReactSlickEventHandler; onBeforeHeaderRowCellDestroy?: ReactSlickEventHandler; onBeforeFooterRowCellDestroy?: ReactSlickEventHandler; onBeforeSetColumns?: ReactSlickEventHandler; onBeforeSort?: ReactSlickEventHandler; onCellChange?: ReactSlickEventHandler; onCellCssStylesChanged?: ReactSlickEventHandler; onClick?: ReactSlickEventHandler; onColumnsDrag?: ReactSlickEventHandler; onColumnsReordered?: ReactSlickEventHandler; onColumnsResized?: ReactSlickEventHandler; onColumnsResizeDblClick?: ReactSlickEventHandler; onCompositeEditorChange?: ReactSlickEventHandler; onContextMenu?: ReactSlickEventHandler; onDrag?: ReactSlickEventHandler; onDragEnd?: ReactSlickEventHandler; onDragInit?: ReactSlickEventHandler; onDragStart?: ReactSlickEventHandler; onDragReplaceCells?: ReactSlickEventHandler; onDblClick?: ReactSlickEventHandler; onFooterContextMenu?: ReactSlickEventHandler; onFooterRowCellRendered?: ReactSlickEventHandler; onHeaderCellRendered?: ReactSlickEventHandler; onFooterClick?: ReactSlickEventHandler; onHeaderClick?: ReactSlickEventHandler; onHeaderContextMenu?: ReactSlickEventHandler; onHeaderMouseEnter?: ReactSlickEventHandler; onHeaderMouseLeave?: ReactSlickEventHandler; onHeaderRowCellRendered?: ReactSlickEventHandler; onHeaderRowMouseEnter?: ReactSlickEventHandler; onHeaderRowMouseLeave?: ReactSlickEventHandler; onKeyDown?: ReactSlickEventHandler; onMouseEnter?: ReactSlickEventHandler<{ grid: SlickGrid; }>; onMouseLeave?: ReactSlickEventHandler<{ grid: SlickGrid; }>; onValidationError?: ReactSlickEventHandler; onViewportChanged?: ReactSlickEventHandler<{ grid: SlickGrid; }>; onRendered?: ReactSlickEventHandler; onSelectedRowsChanged?: ReactSlickEventHandler; onSetOptions?: ReactSlickEventHandler; onScroll?: ReactSlickEventHandler; onSort?: ReactSlickEventHandler; onBeforePagingInfoChanged?: ReactSlickEventHandler; onFormattedDataCacheProgress?: ReactSlickEventHandler; onFormattedDataCacheCompleted?: ReactSlickEventHandler; onGroupExpanded?: ReactSlickEventHandler; onGroupCollapsed?: ReactSlickEventHandler; onPagingInfoChanged?: ReactSlickEventHandler; onRowCountChanged?: ReactSlickEventHandler; onRowsChanged?: ReactSlickEventHandler; onRowsOrCountChanged?: ReactSlickEventHandler; onSelectedRowIdsChanged?: ReactSlickEventHandler; onSetItemsCalled?: ReactSlickEventHandler; onAfterMenuShow?: ReactSlickEventHandler; onBeforeMenuClose?: ReactSlickEventHandler; onBeforeMenuShow?: ReactSlickEventHandler; onColumnsChanged?: ReactSlickEventHandler; onCommand?: ReactSlickEventHandler; onGridMenuColumnsChanged?: ReactSlickEventHandler; onMenuClose?: ReactSlickEventHandler; onCopyCells?: ReactSlickEventHandler<{ ranges: SlickRange[]; }>; onCopyCancelled?: ReactSlickEventHandler<{ ranges: SlickRange[]; }>; onPasteCells?: ReactSlickEventHandler<{ ranges: SlickRange[]; }>; onBeforePasteCell?: ReactSlickEventHandler<{ cell: number; row: number; item: any; columnDef: Column; value: any; }>; onAfterExportToExcel?: ReactRegularEventHandler<{ filename: string; mimeType: string; } | { error: any; }>; onBeforeExportToExcel?: ReactRegularEventHandler; onAfterExportToPdf?: ReactRegularEventHandler<{ filename: string; } | { error: any; }>; onBeforeExportToPdf?: ReactRegularEventHandler; onBeforeExportToTextFile?: ReactRegularEventHandler; onAfterExportToTextFile?: ReactRegularEventHandler; onBeforeFilterChange?: ReactRegularEventHandler; onBeforeFilterClear?: ReactRegularEventHandler<{ columnId: string; } | boolean>; onBeforeSearchChange?: ReactRegularEventHandler; onBeforeSortChange?: ReactRegularEventHandler; onContextMenuClearGrouping?: ReactRegularEventHandler; onContextMenuCollapseAllGroups?: ReactRegularEventHandler; onContextMenuExpandAllGroups?: ReactRegularEventHandler; onBeforeGridDestroy?: ReactRegularEventHandler; onOptionSelected?: ReactRegularEventHandler; onColumnPickerColumnsChanged?: ReactRegularEventHandler; onGridMenuMenuClose?: ReactRegularEventHandler; onGridMenuBeforeMenuShow?: ReactRegularEventHandler; onGridMenuAfterMenuShow?: ReactRegularEventHandler; onGridMenuClearAllPinning?: ReactRegularEventHandler; onGridMenuClearAllFilters?: ReactRegularEventHandler; onGridMenuClearAllSorting?: ReactRegularEventHandler; onGridMenuCommand?: ReactRegularEventHandler; onHeaderButtonCommand?: ReactRegularEventHandler; onHeaderMenuCommand?: ReactRegularEventHandler; onHeaderMenuColumnResizeByContent?: ReactRegularEventHandler<{ columnId: string; }>; onHeaderMenuBeforeMenuShow?: ReactRegularEventHandler; onHeaderMenuAfterMenuShow?: ReactRegularEventHandler; onHideColumns?: ReactRegularEventHandler<{ columns: Column[]; hiddenColumn: Column[]; }>; onItemsAdded?: ReactRegularEventHandler; onItemsDeleted?: ReactRegularEventHandler; onItemsUpdated?: ReactRegularEventHandler; onItemsUpserted?: ReactRegularEventHandler; onFullResizeByContentRequested?: ReactRegularEventHandler<{ caller: string; }>; onGridStateChanged?: ReactRegularEventHandler; onBeforePaginationChange?: ReactRegularEventHandler; onPaginationChanged?: ReactRegularEventHandler; onPaginationRefreshed?: ReactRegularEventHandler; onPaginationVisibilityChanged?: ReactRegularEventHandler<{ visible: boolean; }>; onPaginationSetCursorBased?: ReactRegularEventHandler<{ isCursorBased: boolean; }>; onGridBeforeResize?: ReactRegularEventHandler; onGridAfterResize?: ReactRegularEventHandler; onBeforeResizeByContent?: ReactRegularEventHandler; onAfterResizeByContent?: ReactRegularEventHandler<{ readItemCount: number; calculateColumnWidths: { [x: string]: number | undefined; [x: number]: number | undefined; }; }>; onSortCleared?: ReactRegularEventHandler; onFilterChanged?: ReactRegularEventHandler; onFilterCleared?: ReactRegularEventHandler; onReactGridCreated?: ReactRegularEventHandler; onSortChanged?: ReactRegularEventHandler; onTreeItemToggled?: ReactRegularEventHandler; onTreeFullToggleEnd?: ReactRegularEventHandler; onTreeFullToggleStart?: ReactRegularEventHandler; onLanguageChange?: ReactRegularEventHandler; }