import * as React from 'react'; import { EditingMode, FilteringMode, SortingMode } from '../../enums'; import { Cell } from '../../Models/Cell'; import { ChildAttributes } from '../../Models/ChildAttributes'; import { Column } from '../../Models/Column'; import { Group } from '../../Models/Group'; import { VirtualScrolling } from '../../Models/VirtualScrolling'; import { DataChangeFunc, DataRowFunc, EventFunc, GroupRowFunc, NoDataRowFunc, OptionChangeFunc, } from '../../types'; /** * Sets the options of the table which are related to its looks */ export interface ITableOption { columns: Column[]; dataRow?: DataRowFunc; editableCells?: Cell[]; editingMode?: EditingMode; filteringMode?: FilteringMode; groupRow?: GroupRowFunc; groups?: Group[]; groupsExpanded?: any[][]; noDataRow?: NoDataRowFunc; rowKeyField: string; search?: string; selectedRows?: any[]; sortingMode?: SortingMode; virtualScrolling?: VirtualScrolling; } export interface ITableEvents { /** Called each time Data is changed */ onDataChange?: DataChangeFunc; /** Called each time ITableOption changed */ onOptionChange: OptionChangeFunc; /** Called each time when action was completed */ onEvent?: EventFunc; } export interface ITableAllProps extends ITableEvents, ITableOption { /** The data which is shown in Table's rows */ data: any[]; childAttributes?: ChildAttributes; } export declare const Table: React.FunctionComponent;