import { ViewTemplate } from '@microsoft/fast-element'; import { VividElement } from '../../shared/foundation/vivid-element/vivid-element'; import { DataGridCell } from './data-grid-cell'; import { GenerateHeaderOptions } from './data-grid.options'; export declare const DataGridSelectionMode: { readonly none: "none"; readonly singleRow: "single-row"; readonly multiRow: "multi-row"; readonly singleCell: "single-cell"; readonly multiCell: "multi-cell"; }; export type ValueOf = T[keyof T]; export type DataGridSelectionMode = ValueOf; export interface ColumnDefinition { columnDataKey: string; gridColumn?: string; title?: string; headerCellTemplate?: ViewTemplate; headerCellInternalFocusQueue?: boolean; headerCellFocusTargetCallback?: (cell: DataGridCell) => HTMLElement; cellTemplate?: ViewTemplate; cellInternalFocusQueue?: boolean; cellFocusTargetCallback?: (cell: DataGridCell) => HTMLElement; isRowHeader?: boolean; } export declare class DataGrid extends VividElement { #private; private static generateTemplateColumns; noTabbing: boolean; generateHeader: GenerateHeaderOptions; gridTemplateColumns: string; rowsData: object[]; columnDefinitions: ColumnDefinition[] | null; rowItemTemplate: ViewTemplate; cellItemTemplate?: ViewTemplate; headerCellItemTemplate?: ViewTemplate; focusRowIndex: number; focusColumnIndex: number; fixedColumns?: number; rowElementTag: string; private behaviorOrchestrator; private generatedHeader; private isUpdatingFocus; private pendingFocusUpdate; private resizeObserver?; private observer; private rowindexUpdateQueued; private columnDefinitionsStale; private generatedGridTemplateColumns; private focusOnCell; private queueFocusUpdate; private updateFocus; private toggleGeneratedHeader; private onChildListChange; private queueRowIndexUpdate; private updateRowIndexes; selectionMode?: DataGridSelectionMode; constructor(); static generateColumns(rowData: any): { columnDataKey: string; gridColumn: string; }[]; }