import { Column, RenderParams, ChangeParams, RowStyle, RowClsRules } from './Column'; interface GridConfig { renderTo?: string | HTMLElement | null; filterBar?: boolean; defaults?: Column; columns: Column[]; data: TData[]; width?: number; height?: number; id?: string; theme?: 'default' | 'air' | 'dark' | string; defaultColumnWidth?: number; headerRowHeight?: number; rowHeight?: number; rowAnimation?: boolean; minColumnWidth?: number; rowGroupType?: 'row' | 'column'; defaultRowGroupSort?: 'asc-string' | 'desc-string' | 'asc-amount' | 'desc-amount'; rowGroupBar?: boolean; rowGroupExpanded?: boolean | string[] | ((groupName: string) => boolean); rowGroupBarSeparator?: boolean; rowStyle?: (params: RenderParams) => RowStyle | undefined; rowCls?: (params: RenderParams) => string | string[] | undefined; rowClsRules?: RowClsRules; activeCell?: boolean; selectingCells?: boolean; startEditByTyping?: boolean; editorEnterAction?: 'stay' | 'down' | 'right'; flashChanges?: boolean; flashChangesColors?: [string, string]; columnLines?: boolean; onChange?: (params: ChangeParams) => any; onReady?: (grid: Grid) => any; lang?: { group?: string; groupBarDragEmpty?: string; search?: string; reset?: string; sign?: { clear?: string; list?: string; contains?: string; notContains?: string; equals?: string; notEquals?: string; empty?: string; notEmpty?: string; startsWith?: string; endsWith?: string; regex?: string; greaterThan?: string; lessThan?: string; positive?: string; negative?: string; t?: string; f?: string; } } } type Sign = '<'|'>'|'<='|'>='|'='|'!='; type Value = string|number|boolean|undefined|null; declare class Grid implements GridConfig { constructor(config: GridConfig); // Columns showColumn(column: Column, animate: boolean): void; hideColumn(column: Column, animate: boolean): void; removeColumn(column: Column): void; getColumn(index: string): Column; getColumnById(id: string): Column; setColumns(columns: Column[]): void; // Data setData(data: TData[]): void; setById(id: string, index: string|object, value?: Value): void; getItemById(id: string): TData; remove(rows: string|TData): void; add(items: TData|TData[], position?: number|TData): void; // Sorting sort(column: Column, dir: 'ASC' | 'DESC', multi?: boolean): void; clearSort(column: Column, multi?: boolean): void; multiSort(column: Column, dir: 'ASC' | 'DESC'): void; // Filtering filter(column: Column, value: Value, operator: Sign): void; clearFilter(index?: Column, sign?: Sign): void; // Row Grouping expandAll(): void; collapseAll(): void; destroy(): void; columns: Column[]; data: TData[]; } export { Grid, GridConfig, Column }