import HeaderObject from "../../types/HeaderObject"; import { ColumnEditorConfig } from "../../types/ColumnEditorConfig"; import { FlattenedHeader } from "./columnEditorUtils"; import { ColumnVisibilityState } from "../../types/ColumnVisibilityTypes"; import { PanelSection } from "../pinnedColumnUtils"; export interface CreateColumnEditorRowOptions { allHeaders: HeaderObject[]; clearHoverSeparator?: () => void; depth: number; doesAnyHeaderHaveChildren: boolean; draggingRow: FlattenedHeader | null; getDraggingRow?: () => FlattenedHeader | null; getHoveredSeparatorIndex?: () => number | null; expandedHeaders: Set; flattenedHeaders: FlattenedHeader[]; forceExpanded: boolean; header: HeaderObject; hoveredSeparatorIndex: number | null; panelSection?: PanelSection; rowIndex: number; setDraggingRow: (row: FlattenedHeader | null) => void; setExpandedHeaders: (headers: Set) => void; setHoveredSeparatorIndex: (index: number | null) => void; columnEditorConfig: ColumnEditorConfig; essentialAccessors?: ReadonlySet; headers: HeaderObject[]; setHeaders: (headers: HeaderObject[]) => void; onColumnVisibilityChange?: (state: ColumnVisibilityState) => void; onColumnOrderChange?: (headers: HeaderObject[]) => void; /** When set (e.g. after expand toggle), used with updateExpandIconState so the chevron animates like table cells. */ previousExpandedHeaders?: ReadonlySet; } export interface CreateColumnEditorRowResult { fragment: DocumentFragment; /** Run after the row fragment is connected to the document (e.g. listEl.appendChild). */ scheduleExpandIconAnimation?: () => void; } export declare const createColumnEditorRow: (options: CreateColumnEditorRowOptions) => CreateColumnEditorRowResult;