import { ValueType } from "./common"; import { Column, IColumnStyle } from "./model"; import { Cell } from "./cells"; import { IRowData } from "./dataControl"; import { EventRecognizer } from "./event"; declare class EventObject { private _listener; constructor(); addListener(event: string, listener: EventRecognizer): void; removeListener(event: string): void; fireListener(eventType: string, event: Event, grid?: Grid): void; } export interface IDataConfig { columns: Array; data: Array; } export declare class Grid extends EventObject { private _elementID; private _cols; private _dataCollector; private _headerRow; private _bodyRows; private _table; private _domElement; private _selectedCellInfo; private _mousePos; constructor(_elementID: string, dataCon: IDataConfig); private _createTableElement; private _createElement; private _parse; getColumn(index: number): Column; readonly bodyRowsLen: number; readonly tableDOMElement: HTMLElement; readonly selectedCellInfo: { fieldName: string; rowIndex: number; }; readonly mousePos: { X: number; Y: number; }; setColumns(cols: Array): void; addColumns(cols: Array): void; deleteColumns(colNames: Array): void; dataBind(data: Array): void; addRows(rows: Array): void; deleteRows(indexes: Array): void; updateCell(rowIndex: number, fieldName: string, value: ValueType): void; setProperties(fieldNames: Array, propertyStyle: string, value: ValueType): void; setColumnsStyle(fieldNames: Array, propertyStyle: IColumnStyle): void; private _giveAddListener; private _parseColumnStyle; private _createColumns; private _createHeaderCell; deleteColumn(fieldName: string): void; indexOfColumn(fieldName: string): number; setGridSize(gridSize: { width: number; height: number; }): void; private _getCell; findMousePos(X: number, Y: number): void; private _getInRangeCell; _getSearchedCell(): Cell; private _searchCell; toggleClicked(mousePosX: number, mousePosY: number, target: HTMLElement): void; rangeClicked(preX: number, preY: number, X: number, Y: number): void; singleClicked(X: number, Y: number, target: HTMLElement): void; findEditBoxPosition(X: number, Y: number): void; private _createEditBox; keycodeSeparator(keycode: number): void; private _movedByKeyBoard; } export {};