import { type Notifier } from '@ni/fast-element'; import { FoundationElement } from '@ni/fast-foundation'; import type { TableCellState } from '../../../table-column/base/types'; import type { CellViewSlotRequestEventDetail, TableRecord, TableRowFocusableElements } from '../../types'; import type { TableColumn } from '../../../table-column/base'; import type { MenuButtonToggleEventDetail } from '../../../menu-button/types'; import type { Checkbox } from '../../../checkbox'; declare global { interface HTMLElementTagNameMap { 'nimble-table-row': TableRow; } } /** Represents a single row (element) in the Table's data */ export interface TableDataRecord extends TableRecord { } /** * A styled row that is used within the nimble-table. * @internal */ export declare class TableRow extends FoundationElement { recordId?: string; selectable: boolean; selected: boolean; hideSelection: boolean; expanded: boolean; reserveCollapseSpace: boolean; dataRecord?: TDataRecord; /** * @internal * */ columnNotifiers: Notifier[]; columns: TableColumn[]; currentActionMenuColumn?: TableColumn; nestingLevel: number; /** * Row index in the flattened set of all regular and group header rows. * Represents the index in table.tableData (TableRowState[]). */ resolvedRowIndex?: number; isParentRow: boolean; menuOpen: boolean; rowOperationGridCellHidden: boolean; loading: boolean; /** * @internal * An array that parallels the `columns` array and contains the indent * level of each column's cell. * */ cellIndentLevels: number[]; /** * @internal * An array that parallels the `columns` array and contains the cell state * of each column's cell. * */ cellStates: (TableCellState | undefined)[]; /** @internal */ readonly selectionCheckbox?: Checkbox; /** @internal */ readonly cellContainer: HTMLSpanElement; /** * @internal */ readonly expandIcon?: HTMLElement; /** * @internal */ animationClass: string; /** * @internal */ allowHover: boolean; get isTopLevelParentRow(): boolean; get isNestedParent(): boolean; /** @internal */ get showSelectionCheckbox(): boolean; private ignoreSelectionChangeEvents; get ariaSelected(): 'true' | 'false' | null; disconnectedCallback(): void; /** @internal */ onSelectionCheckboxChange(event: CustomEvent): void; /** @internal */ onSelectionChange(oldState: boolean, newState: boolean): void; /** @internal */ onCellActionMenuBeforeToggle(event: CustomEvent, column: TableColumn): void; /** @internal */ onCellActionMenuToggle(event: CustomEvent, column: TableColumn): void; /** @internal */ handleChange(source: unknown, args: unknown): void; /** @internal */ getFocusableElements(): TableRowFocusableElements; onRowExpandToggle(event?: Event): void; onCellViewSlotsRequest(column: TableColumn, event: CustomEvent): void; private readonly removeAnimatingClass; private emitActionMenuToggleEvent; private columnsChanged; private dataRecordChanged; private nestingLevelChanged; private updateCellIndentLevels; private removeColumnObservers; private observeColumns; private updateCellStates; private hasValidFieldNames; private selectedChanged; private selectionCheckboxChanged; private setSelectionCheckboxState; } export declare const tableRowTag = "nimble-table-row";