import type { BeanStub } from '../../context/beanStub'; import type { AgColumn } from '../../entities/agColumn'; import type { CellFocusedEvent } from '../../events'; import type { RowContainerType } from '../../gridBodyComp/rowContainer/rowContainerCtrl'; import type { RefreshRowsParams } from '../../interfaces/iCellsParams'; import type { ColumnPinnedType } from '../../interfaces/iColumn'; import type { INotesFeature } from '../../interfaces/notes'; import type { CellCtrl } from '../cell/cellCtrl'; import type { ICellRenderer } from '../cellRenderers/iCellRenderer'; /** @internal AG_GRID_INTERNAL - Not for public use. Can change / be removed at any time. */ export type FullWidthTarget = { compBean: BeanStub; element: HTMLElement; column: AgColumn; pinned: ColumnPinnedType; }; export interface IRowModeFeature { initialiseComp(): void; refreshRow(params: RefreshRowsParams): void; shouldCreateCellSections(): boolean; getAllCellCtrls(): CellCtrl[]; recreateCell(cellCtrl: CellCtrl): void; destroyCells(): void; isSuppressMouseEvent(mouseEvent: MouseEvent): boolean; onDisplayedColumnsChanged(): void; onVirtualColumnsChanged(): void; onColumnMoved(): void; onSpannedCellsUpdated(pinned: ColumnPinnedType): void; getModeCellRenderers?(): (ICellRenderer | null | undefined)[]; setupFocus?(): void; onRowFocused?(event?: CellFocusedEvent): void; getRowContentElement?(): HTMLElement | null; getNavigationColumn?(): AgColumn; onKeyboardNavigate?(keyboardEvent: KeyboardEvent): void; onTabKeyDown?(keyboardEvent: KeyboardEvent): void; onRowMouseDown?(mouseEvent: MouseEvent): void; setupDetailRowAutoHeight?(eGui: HTMLElement): void; prepareInitialCellCtrls?(): void; getInitialCellCtrls?(containerType: RowContainerType): CellCtrl[] | null; getTargets?(): FullWidthTarget[]; getTarget?(element?: EventTarget | null): FullWidthTarget | undefined; findInfoForEvent?(event?: Event): { column: AgColumn; pinned: ColumnPinnedType; } | undefined; getNotesFeature?(): INotesFeature | undefined; addInitialRowClasses?(classes: string[]): void; }