import { FoundationElement } from '@ni/fast-foundation';
import type { TableColumn } from '../../../table-column/base';
import { type TableRowFocusableElements, TableRowSelectionState } from '../../types';
import type { Checkbox } from '../../../checkbox';
declare global {
    interface HTMLElementTagNameMap {
        'nimble-table-group-row': TableGroupRow;
    }
}
/**
 * A styled cell that is used within the nimble-table-row.
 * @internal
 */
export declare class TableGroupRow extends FoundationElement {
    groupRowValue?: unknown;
    nestingLevel: number;
    /**
     * Row index in the flattened set of all regular and group header rows.
     * Represents the index in table.tableData (TableRowState[]).
     */
    resolvedRowIndex?: number;
    immediateChildCount?: number;
    groupColumn?: TableColumn;
    expanded: boolean;
    selectable: boolean;
    selectionState: TableRowSelectionState;
    /**
     * @internal
     */
    readonly expandIcon: HTMLElement;
    /**
     * @internal
     */
    readonly selectionCheckbox?: Checkbox;
    /**
     * @internal
     */
    animationClass: string;
    /**
     * @internal
     */
    allowHover: boolean;
    private ignoreSelectionChangeEvents;
    onGroupExpandToggle(): void;
    /** @internal */
    onSelectionCheckboxChange(event: CustomEvent): void;
    /** @internal */
    getFocusableElements(): TableRowFocusableElements;
    private selectionStateChanged;
    private selectionCheckboxChanged;
    private setSelectionCheckboxState;
    private readonly removeAnimatingClass;
}
export declare const tableGroupRowTag = "nimble-table-group-row";
