import { Component , NumberFormatOptions , DateFormatOptions , EmitType , KeyboardEventArgs , L10n } from '@syncfusion/ej2-base' ; import { Query , DataManager , Group } from '@syncfusion/ej2-data' ; import { ItemModel , MenuItemModel , BeforeOpenCloseMenuEventArgs , MenuEventArgs } from '@syncfusion/ej2-navigations' ; import { ButtonModel } from '@syncfusion/ej2-buttons' ; import { Column , ColumnModel } from '../models/column' ; import { SortSettingsModel , TextWrapSettingsModel , SelectionSettingsModel , FilterSettingsModel , SearchSettingsModel } from './grid-model' ; import { PageSettingsModel , AggregateRowModel } from '../models/models' ; import { RowDropSettingsModel , GroupSettingsModel , GridModel , EditSettingsModel } from './grid-model' ; import { Cell } from '../models/cell' ; import { Row } from '../models/row' ; import { GridLine , Action , CellType , SortDirection , PrintMode , ToolbarItems , CommandButtonType , ContextMenuItem } from './enum' ; import { MultipleExportType , ExportType , ExcelHAlign , ExcelVAlign , BorderLineStyle , ToolbarItem } from './enum' ; import { PredicateModel } from './grid-model' ; import { SentinelType , Offsets } from './type' ; import { CheckState , ColumnQueryModeType } from './enum' ; import { Edit } from '../actions/edit' ; import { Resize } from '../actions/resize' ; import { DropDownListModel } from '@syncfusion/ej2-dropdowns' ; import { NumericTextBoxModel } from '@syncfusion/ej2-inputs' ; import { FormValidator } from '@syncfusion/ej2-inputs' ; import { Data } from '../actions/data' ; import { DatePickerModel } from '@syncfusion/ej2-calendars' ; import { Matrix } from '../services/focus-strategy' ; import { CheckBoxFilter } from '../actions/checkbox-filter' ; import { PdfPageSize , PageOrientation , ContentType , PdfPageNumberType , PdfDashStyle , PdfHAlign , PdfVAlign } from './enum' ; import { FlMenuOptrUI } from '../renderer/filter-menu-operator' ; import { Dialog , DialogModel } from '@syncfusion/ej2-popups' ; import { Render } from '../renderer/render' ; hidden export interface IGrid extends Component < HTMLElement > { currentViewData ? : Object [ ] ; default columns ? : Column [ ] | string [ ] | ColumnModel [ ] ; default enableAltRow ? : boolean ; default enableHover ? : boolean ; default allowKeyboard ? : boolean ; default allowTextWrap ? : boolean ; default textWrapSettings ? : TextWrapSettingsModel ; default allowPaging ? : boolean ; default pageSettings ? : PageSettingsModel ; enableVirtualization : boolean ; enableColumnVirtualization : boolean ; default allowSorting ? : boolean ; default allowMultiSorting ? : boolean ; default sortSettings ? : SortSettingsModel ; default allowExcelExport ? : boolean ; default allowPdfExport ? : boolean ; default allowSelection ? : boolean ; default selectedRowIndex ? : number ; default selectionSettings ? : SelectionSettingsModel ; default allowReordering ? : boolean ; default allowResizing ? : boolean ; default allowFiltering ? : boolean ; default filterSettings ? : FilterSettingsModel ; default allowGrouping ? : boolean ; default showColumnMenu ? : boolean ; default groupSettings ? : GroupSettingsModel ; default showColumnChooser ? : boolean ; default editSettings ? : EditSettingsModel ; default aggregates ? : AggregateRowModel [ ] ; default height ? : string | number ; default width ? : string | number ; default searchSettings ? : SearchSettingsModel ; default rowDropSettings ? : RowDropSettingsModel ; default allowRowDragAndDrop ? : boolean ; default gridLines ? : GridLine ; /**
     * Specifies rowTemplate
     */ rowTemplate ? : string ; /**
     * Specifies detailTemplate
     */ detailTemplate ? : string ; /**
     * Defines the child Grid to add inside the data rows of the parent Grid with expand/collapse options.
     */ childGrid ? : GridModel ; /**
     * Defines the relation between parent and child grid.
     */ queryString ? : string ; /**
     * Specifies the printMode
     */ printMode ? : PrintMode ; default dataSource ? : Object | DataManager ; default rowHeight ? : number ; default query ? : Query ; hidden default columnQueryMode ? : ColumnQueryModeType ; hidden default toolbar ? : ( ToolbarItems | string | ItemModel | ToolbarItem ) [ ] ; default contextMenuItems ? : ContextMenuItem [ ] | ContextMenuItemModel [ ] ; default columnMenuItems ? : string [ ] | ContextMenuItemModel [ ] ; hidden default toolbarTemplate ? : string ; hidden default pagerTemplate ? : string ; default frozenRows ? : number ; default frozenColumns ? : number ; isEdit ? : boolean ; isLastCellPrimaryKey ? : boolean ; editModule ? : Edit ; resizeModule : Resize ; mergeCells ? : { [ key ] : number ; } ; checkAllRows ? : CheckState ; isCheckBoxSelection ? : boolean ; isPersistSelection ? : boolean ; localeObj ? : L10n ; prevPageMoving ? : boolean ; renderModule ? : Render ; isPreventScrollEvent ? : boolean ; registeredTemplate ? : Object ; getHeaderContent ? ( ) : Element ; setGridHeaderContent ? ( value ) : void ; getContentTable ? ( ) : Element ; setGridContentTable ? ( value ) : void ; getContent ? ( ) : Element ; setGridContent ? ( value ) : void ; getHeaderTable ? ( ) : Element ; setGridHeaderTable ? ( value ) : void ; getFooterContent ? ( ) : Element ; getFooterContentTable ? ( ) : Element ; getPager ? ( ) : Element ; setGridPager ? ( value ) : void ; getRowByIndex ? ( index ) : Element ; getMovableRowByIndex ? ( index ) : Element ; getRowInfo ? ( target ) : RowInfo ; selectRow ? ( index , isToggle ? ) : void ; getColumnHeaderByIndex ? ( index ) : Element ; getColumnByField ? ( field ) : Column ; getColumnIndexByField ? ( field ) : number ; getColumnByUid ? ( uid ) : Column ; getColumnIndexByUid ? ( uid ) : number ; getColumnByIndex ? ( index ) : Column ; getUidByColumnField ? ( field ) : string ; getNormalizedColumnIndex ? ( uid ) : number ; getColumnIndexesInView ( ) : number [ ] ; setColumnIndexesInView ( indexes ? ) : void ; getRows ? ( ) : Element [ ] ; getMovableRows ? ( ) : Element [ ] ; getCellFromIndex ? ( rowIndex , columnIndex ) : Element ; getMovableCellFromIndex ? ( rowIndex , columnIndex ) : Element ; getColumnFieldNames ? ( ) : string [ ] ; getSelectedRows ? ( ) : Element [ ] ; getSelectedRecords ? ( ) : Object [ ] ; getSelectedRowIndexes ? ( ) : number [ ] ; getSelectedRowCellIndexes ( ) : ISelectedCell [ ] ; getCurrentViewRecords ( ) : Object [ ] ; selectRows ? ( indexes ) : void ; clearSelection ? ( ) : void ; updateExternalMessage ? ( message ) : void ; getColumns ? ( isRefresh ? ) : Column [ ] ; getStackedHeaderColumnByHeaderText ? ( stackedHeader , col ) : Column ; getRowTemplate ? ( ) : Function ; getDetailTemplate ? ( ) : Function ; getEditTemplate ? ( ) : Function ; getFilterTemplate ? ( ) : Function ; sortColumn ? ( columnName , sortDirection , isMultiSort ? ) : void ; removeSortColumn ? ( field ) : void ; getColumnHeaderByUid ? ( uid ) : Element ; getColumnHeaderByField ? ( field ) : Element ; showColumns ? ( keys , showBy ? ) : void ; hideColumns ? ( keys , hideBy ? ) : void ; showSpinner ? ( ) : void ; hideSpinner ? ( ) : void ; updateDefaultCursor ? ( ) : void ; getVisibleColumns ? ( ) : Column [ ] ; refreshHeader ? ( ) : void ; getDataRows ? ( ) : Element [ ] ; getMovableDataRows ? ( ) : Element [ ] ; addMovableRows ? ( fRows , mrows ) : HTMLElement [ ] ; getPrimaryKeyFieldNames ? ( ) : string [ ] ; autoFitColumns ( fieldNames ? ) : void ; groupColumn ( columnName ) : void ; ungroupColumn ( columnName ) : void ; ensureModuleInjected ( module ) : Boolean ; isContextMenuOpen ( ) : Boolean ; goToPage ( pageNo ) : void ; getFrozenColumns ( ) : number ; getVisibleFrozenColumns ( ) : number ; print ( ) : void ; excelExport ( exportProperties ? , isMultipleExport ? , workbook ? ) : Promise < any > ; csvExport ( exportProperties ? , isMultipleExport ? , workbook ? ) : Promise < any > ; pdfExport ( exportProperties ? , isMultipleExport ? , pdfDoc ? ) : Promise < Object > ; search ( searchString ) : void ; deleteRecord ? ( fieldname ? , data ? ) : void ; startEdit ? ( ) : void ; endEdit ? ( ) : void ; closeEdit ? ( ) : void ; addRecord ? ( data ? ) : void ; deleteRow ? ( tr ) : void ; getRowObjectFromUID ? ( uid ) : Row < Column > ; addFreezeRows ? ( fRows , mRows ? ) : Row < Column > [ ] ; getRowsObject ? ( ) : Row < Column > [ ] ; getMovableRowsObject ? ( ) : Row < Column > [ ] ; createColumnchooser ( x , y , target ) : void ; getDataModule ? ( ) : Data ; refreshTooltip ? ( ) : void ; copy ? ( withHeader ? ) : void ; getLocaleConstants ? ( ) : Object ; getForeignKeyColumns ? ( ) : Column [ ] ; getRowHeight ? ( ) : number ; setCellValue ( key , field , value ) : void ; setRowData ( key , rowData ? ) : void ; getState ? ( ) : Object ; destroyTemplate ? ( templateName ) : void ; } hidden export interface IRenderer { renderPanel ( ) : void ; renderTable ( ) : void ; setPanel ( panel ) : void ; setTable ( table ) : void ; getPanel ( ) : Element ; getTable ( ) : Element ; getRows ? ( ) : Row < { } > [ ] | HTMLCollectionOf < HTMLTableRowElement > ; getMovableRows ? ( ) : Row < { } > [ ] | HTMLCollectionOf < HTMLTableRowElement > ; refreshUI ? ( ) : void ; setVisible ? ( column ? ) : void ; addEventListener ? ( ) : void ; removeEventListener ? ( ) : void ; getRowElements ? ( ) : Element [ ] ; getMovableRowElements ? ( ) : Element [ ] ; setSelection ? ( uid , set , clearAll ) : void ; getRowByIndex ? ( index ) : Element ; getVirtualRowIndex ? ( index ) : number ; getMovableRowByIndex ? ( index ) : Element ; getRowInfo ? ( target ) : RowInfo ; getState ? ( ) : Object ; getMovableHeader ? ( ) : Element ; destroyTemplate ? ( templateName ) : void ; } hidden export interface IAction { updateModel ? ( ) : void ; onActionBegin ? ( args ? , type ? ) : void ; onActionComplete ? ( args ? , type ? ) : void ; addEventListener ? ( ) : void ; removeEventListener ? ( ) : void ; } hidden export interface IDataProcessor { generateQuery ( ) : Query ; getData ( args , query ) : Promise < Object > ; processData ? ( ) : void ; } hidden export interface IValueFormatter { fromView ( value , format , target ? ) : string | number | Date ; toView ( value , format ) : string | Object ; setCulture ? ( cultureName ) : void ; getFormatFunction ? ( format ) : Function ; getParserFunction ? ( format ) : Function ; } hidden export interface ITemplateRender { compiled : { [ x ] : Function ; } ; compile ( key , template ) : Function ; render ( key , data , params ? ) : string ; } hidden export interface IEditCell { create ? : Element | Function | string ; read ? : Object | Function | string ; write ? : void | Function | string ; params ? : DatePickerModel | NumericTextBoxModel | DropDownListModel ; destroy ? : Function | string ; } hidden export interface IFilterUI { create ? : Element | Function | string ; read ? : Object | Function | string ; write ? : void | Function | string ; } hidden export interface IFilterMUI { create ? : void | Function | string ; read ? : Object | Function | string ; write ? : void | Function | string ; } hidden export interface ICustomOptr { stringOperator ? : { [ key ] : Object ; } [ ] ; numberOperator ? : { [ key ] : Object ; } [ ] ; dateOperator ? : { [ key ] : Object ; } [ ] ; dateTimeOperator ? : { [ key ] : Object ; } [ ] ; booleanOperator ? : { [ key ] : Object ; } [ ] ; } hidden export interface ICellRenderer < T > { element ? : Element ; getGui ? ( ) : string | Element ; format ? ( column , value , data ) : string ; evaluate ? ( node , column , data , attributes ? ) : boolean ; setStyleAndAttributes ? ( node , attributes ) : void ; render ( cell , data , attributes ? ) : Element ; appendHtml ? ( node , innerHtml ) : Element ; refresh ? ( cell , node ) : Element ; } hidden export interface IRowRenderer < T > { element ? : Element ; render ( row , column , attributes ? , rowTemplate ? ) : Element ; } hidden export interface ICellFormatter { getValue ( column , data ) : Object ; } hidden export interface IIndex { rowIndex ? : number ; cellIndex ? : number ; } hidden export interface ISelectedCell { rowIndex : number ; cellIndexes : number [ ] ; } hidden export interface IFilterOperator { contains : string ; endsWith : string ; equal : string ; greaterThan : string ; greaterThanOrEqual : string ; lessThan : string ; lessThanOrEqual : string ; notEqual : string ; startsWith : string ; } export interface NotifyArgs { records ? : Object [ ] ; count ? : number ; requestType ? : Action ; module ? : string ; enable ? : boolean ; properties ? : Object ; virtualInfo ? : VirtualInfo ; cancel ? : boolean ; rows ? : Row < Column > [ ] ; isFrozen ? : boolean ; args ? : NotifyArgs ; oldProperties ? : string [ ] ; focusElement ? : HTMLElement ; } hidden export interface ICell < T > { colSpan ? : number ; rowSpan ? : number ; cellType ? : CellType ; visible ? : boolean ; isTemplate ? : boolean ; isDataCell ? : boolean ; column ? : T ; rowID ? : string ; index ? : number ; colIndex ? : number ; className ? : string ; commands ? : CommandModel [ ] ; isForeignKey ? : boolean ; foreignKeyData ? : Object ; } hidden export interface IRow < T > { uid ? : string ; data ? : Object ; isSelected ? : boolean ; isReadOnly ? : boolean ; isAltRow ? : boolean ; isDataRow ? : boolean ; isExpand ? : boolean ; rowSpan ? : number ; cells ? : Cell < T > [ ] ; index ? : number ; indent ? : number ; subRowDetails ? : Object ; height ? : string ; cssClass ? : string ; foreignKeyData ? : Object ; } hidden export interface IModelGenerator < T > { generateRows ( data , args ? ) : Row < T > [ ] ; refreshRows ? ( input ? ) : Row < T > [ ] ; } export interface RowInfo { /** returns particular cell element */ cell ? : Element ; /** returns particular cell index */ cellIndex ? : number ; /** returns particular row element */ row ? : Element ; /** returns particular rowIndex */ rowIndex ? : number ; /** returns particular row data */ rowData ? : Object ; /** return particular column information  */ column ? : Object ; } export interface ActionEventArgs { /** Defines the current action. */ requestType ? : Action ; /** Defines the type of event. */ type ? : string ; } export interface FailureEventArgs { /** Defines the error information. */ error ? : Error ; } export interface FilterEventArgs extends ActionEventArgs { /** Defines the object that is currently filtered. */ currentFilterObject ? : PredicateModel ; /** Defines the column name that is currently filtered. */ currentFilteringColumn ? : string ; /** Defines the collection of filtered columns. */ columns ? : PredicateModel [ ] ; } export interface GroupEventArgs extends ActionEventArgs { /** Defines the field name of the currently grouped columns. */ columnName ? : string ; } export interface PageEventArgs extends ActionEventArgs { /** Defines the previous page number. */ previousPage ? : string ; /** Defines the current page number. */ currentPage ? : string ; } export interface SortEventArgs extends ActionEventArgs { /** Defines the field name of currently sorted column. */ columnName ? : string ; /** Defines the direction of sort column. */ direction ? : SortDirection ; } export interface SearchEventArgs extends ActionEventArgs { /** Defines the string value to search. */ searchString ? : string ; } export interface PrintEventArgs extends ActionEventArgs { /** Defines the Grid element. */ element ? : Element ; /** Defines the currently selected rows. */ selectedRows ? : NodeListOf < Element > ; /** Cancel the print action */ cancel ? : boolean ; } export interface DetailDataBoundEventArgs { /** Defines the details row element. */ detailElement ? : Element ; /** Defines the selected row data. */ data ? : Object ; } export interface ColumnChooserEventArgs { /** Defines the parent element. */ element ? : Element ; /** Defines the display columns of column chooser. */ columns ? : Column [ ] ; /** Specifies the instance of column chooser dialog. */ dialogInstance ? : Object ; /** Defines the operator for column chooser search request */ searchOperator ? : string ; } export interface RowDeselectEventArgs { /** Defines the current selected/deselected row data. */ data ? : Object ; /** Defines the selected/deselected row index. */ rowIndex ? : number ; /** Defines the selected/deselected row. */ row ? : Element ; /** Define the foreignKey row data associated with this column */ foreignKeyData ? : Object ; /** Defines the cancel option value. */ cancel ? : boolean ; } export interface RowSelectEventArgs extends RowDeselectEventArgs { /** Defines the previously selected row index. */ previousRowIndex ? : number ; /** Defines the previously selected row. */ previousRow ? : Element ; /** Defines the target element for selection. */ target ? : Element ; /** Define the foreignKey row data associated with this column */ foreignKeyData ? : Object ; } export interface RecordDoubleClickEventArgs { /** Defines the target element. */ target ? : Element ; /** Defines the cell element. */ cell ? : Element ; /** Defines the cell index. */ cellIndex ? : number ; /** Defines the column object. */ column ? : Column ; /** Defines the name of the event. */ name ? : string ; /** Defines the row element. */ row ? : Element ; /** Defines the current row data. */ rowData ? : Object ; /** Defines the row index. */ rowIndex ? : number ; /** Define the foreignKey row data associated with this column */ foreignKeyData ? : Object ; } export interface RowSelectingEventArgs extends RowSelectEventArgs { /** Defines whether CTRL key is pressed. */ isCtrlPressed ? : boolean ; /** Defines whether SHIFT key is pressed. */ isShiftPressed ? : boolean ; } export interface CellDeselectEventArgs { /** Defines the currently selected/deselected row data. */ data ? : Object ; /** Defines the indexes of the current selected/deselected cells. */ cellIndexes ? : ISelectedCell [ ] ; /** Defines the currently selected/deselected cells. */ cells ? : Element [ ] ; /** Defines the cancel option value. */ cancel ? : boolean ; } export interface CellSelectEventArgs extends CellDeselectEventArgs { /** Defines the index of the current selected cell. */ cellIndex ? : IIndex ; /** Defines the previously selected cell index. */ previousRowCellIndex ? : number ; /** Defines the element. */ currentCell : Element ; /** Defines the previously selected cell element. */ previousRowCell ? : Element ; } export interface CellSelectingEventArgs extends CellSelectEventArgs { /** Defines whether the CTRL key is pressed or not. */ isCtrlPressed ? : boolean ; /** Defines whether the SHIFT key is pressed or not. */ isShiftPressed ? : boolean ; } export interface ColumnDragEventArgs { /** Defines the target element from which the drag starts. */ target ? : Element ; /** Defines the type of the element dragged. */ draggableType ? : string ; /** Defines the column object that is dragged. */ column ? : Column ; } export interface RowDataBoundEventArgs { /** Defines the current row data. */ data ? : Object ; /** Defines the row element. */ row ? : Element ; /** Defines the row height */ rowHeight ? : number ; } export interface HeaderCellInfoEventArgs { /** Defines the cell. */ cell ? : Cell < Column > ; /** Defines the cell element. */ node ? : Element ; } export interface QueryCellInfoEventArgs { /** Defines the row data associated with this cell. */ data ? : Object ; /** Defines the cell element. */ cell ? : Element ; /** Defines the column object associated with this cell. */ column ? : Column ; /** Defines the no. of columns to be spanned */ colSpan ? : number ; /** Define the foreignKey row data associated with this column */ foreignKeyData ? : Object ; } export interface PdfQueryCellInfoEventArgs { /** Defines the column of the current cell. */ column ? : Column ; /** Defines the style of the current cell. */ style ? : PdfStyle ; /** Defines the value of the current cell. */ value ? : Date | string | number | boolean ; /** Defines the no. of columns to be spanned */ colSpan ? : number ; } export interface PdfHeaderQueryCellInfoEventArgs { /** Defines the PDF grid current cell. */ cell ? : object ; /** Defines the style of the current cell. */ style ? : PdfStyle ; /** Defines the current cell with column */ gridCell ? : object ; } export interface ExcelQueryCellInfoEventArgs { /** Defines the row data associated with this cell. */ data ? : Object ; /** Defines the column of the current cell. */ column : Column ; /** Defines the value of the current cell. */ value ? : Date | string | number | boolean ; /** Defines the style of the current cell. */ style ? : ExcelStyle ; /** Defines the number of columns to be spanned */ colSpan ? : number ; /** Defines the cell data */ cell ? : number | ExcelStyle | { name : string ; } ; } export interface ExcelHeaderQueryCellInfoEventArgs { /** Defines the cell that contains colspan. */ cell ? : Object ; /** Defines the style of the current cell. */ style ? : ExcelStyle ; } export interface FilterSearchBeginEventArgs { /** Defines the current action. */ requestType ? : string ; /** Defines the filter model. */ filterModel ? : CheckBoxFilter ; /** Defines the field name of current column */ columnName ? : string ; /** Defines the current Column objects */ column ? : Column ; /** Defines the operator for filter request */ operator ? : string ; /** Defines the matchCase for filter request */ matchCase ? : boolean ; /** Defines the ignoreAccent for filter request */ ignoreAccent ? : boolean ; /** Defines the custom query in before execute */ query : Query ; /** Defines take number of data  */ filterChoiceCount : number ; } export interface MultipleExport { /** Indicates whether to append the multiple grid in same sheet or different sheet */ type ? : MultipleExportType ; /**  Defines the number of blank rows between the multiple grid data */ blankRows ? : number ; } export interface ExcelRow { /**  Defines the index for cells */ index ? : number ; /**  Defines the cells in a row */ cells ? : ExcelCell [ ] ; } export interface Border { /**  Defines the color of border */ color ? : string ; /**  Defines the line style of border */ lineStyle ? : BorderLineStyle ; } export interface ExcelStyle { /** Defines the color of font */ fontColor ? : string ; /** Defines the name of font */ fontName ? : string ; /** Defines the size of font */ fontSize ? : number ; /** Defines the horizontal alignment for cell style */ hAlign ? : ExcelHAlign ; /** Defines the vertical alignment for cell style */ vAlign ? : ExcelVAlign ; /** Defines the bold style for fonts  */ bold ? : boolean ; /** Defines the indent for cell style */ indent ? : number ; /** Defines the italic style for fonts */ italic ? : boolean ; /** Defines the underline style for fonts */ underline ? : boolean ; /** Defines the background color for cell style */ backColor ? : string ; /** Defines the wrapText for cell style */ wrapText ? : boolean ; /** Defines the borders for cell style */ borders ? : Border ; } export interface PdfStyle { /** Defines the horizontal alignment */ textAlignment ? : PdfHAlign ; /** Defines the brush color of font */ textBrushColor ? : string ; /** Defines the pen color of font */ textPenColor ? : string ; /** Defines the font family */ fontFamily ? : string ; /** Defines the font size */ fontSize ? : number ; /** Defines the font bold */ bold ? : boolean ; /** Defines the indent alignment */ indent ? : PdfHAlign ; /** Defines the italic font */ italic ? : boolean ; /** Defines the underlined font */ underline ? : boolean ; /** Defines the strike-out font */ strikeout ? : boolean ; /** Defines the horizontal alignment */ verticalAlignment ? : PdfVAlign ; /** Defines the background color */ backgroundColor ? : string ; /** Defines the grid border */ border ? : PdfBorder ; /** Defines the cell indent */ paragraphIndent ? : number ; } export interface PdfBorder { /** Defines the border color */ color ? : string ; /** Defines the border width */ width ? : number ; /** Defines the border dash style */ dashStyle ? : PdfDashStyle ; } export interface ExcelCell { /** Defines the index for the cell */ index ? : number ; /** Defines the column span for the cell  */ colSpan ? : number ; /** Defines the value of the cell */ value ? : string | boolean | number | Date ; /** Defines the hyperlink of the cell */ hyperlink ? : Hyperlink ; /** Defines the style of the cell */ style ? : ExcelStyle ; } export interface Hyperlink { /** Defines the Url for hyperlink */ target ? : string ; /** Defines the display text for hyperlink */ displayText ? : string ; } export interface ExcelHeader { /** Defines the number of rows between the header and grid data */ headerRows ? : number ; /** Defines the rows in header content */ rows ? : ExcelRow [ ] ; } export interface ExcelFooter { /** Defines the number of rows between the grid data and footer */ footerRows ? : number ; /** Defines the rows in footer content */ rows ? : ExcelRow [ ] ; } export interface ExcelExportProperties { /** Defines the data source dynamically before exporting */ dataSource ? : Object | DataManager ; /** Exports multiple grid into the excel document */ multipleExport ? : MultipleExport ; /** Defines the header content for exported document  */ header ? : ExcelHeader ; /** Defines the footer content for exported document */ footer ? : ExcelFooter ; /** Indicates to export current page or all page */ exportType ? : ExportType ; /** Indicates whether to show the hidden columns in exported excel */ includeHiddenColumn ? : boolean ; /** Defines the theme for exported data  */ theme ? : Theme ; /** Defines the file name for the exported file  */ fileName ? : string ; } export interface RowDragEventArgs { /** Defines the selected row's element. */ rows ? : Element [ ] ; /** Defines the target element from which drag starts. */ target ? : Element ; hidden draggableType ? : string ; /** Defines the selected row data. */ data ? : Object [ ] ; } hidden export interface EJ2Intance extends HTMLElement { ej2_instances : Object | Object [ ] ; } hidden export interface IPosition { x : number ; y : number ; } hidden export interface ParentDetails { parentID ? : string ; parentPrimaryKeys ? : string [ ] ; parentKeyField ? : string ; parentKeyFieldValue ? : string ; parentRowData ? : Object ; } hidden export interface VirtualInfo { data ? : boolean ; event ? : string ; block ? : number ; page ? : number ; currentPage ? : number ; direction ? : string ; blockIndexes ? : number [ ] ; columnIndexes ? : number [ ] ; columnBlocks ? : number [ ] ; loadSelf ? : boolean ; loadNext ? : boolean ; nextInfo ? : { page ? : number ; } ; sentinelInfo ? : SentinelType ; offsets ? : Offsets ; } hidden export interface InterSection { container ? : HTMLElement ; pageHeight ? : number ; debounceEvent ? : boolean ; axes ? : string [ ] ; } hidden export interface ICancel { /** Defines the cancel option value. */ cancel ? : boolean ; } hidden export interface IPrimaryKey { /** Defines the primaryKey. */ primaryKey ? : string [ ] ; } hidden export interface BeforeBatchAddArgs extends ICancel , IPrimaryKey { /** Defines the default data object. */ defaultData ? : Object ; } hidden export interface BatchCancelArgs { /** Defines the rows. */ rows ? : Row < Column > [ ] ; /** Defines the request type. */ requestType ? : string ; } hidden export interface BatchDeleteArgs extends IPrimaryKey { /** Defines the deleted data. */ rowData ? : Object ; /** Defines the row index. */ rowIndex ? : number ; } hidden export interface BeforeBatchDeleteArgs extends BatchDeleteArgs , ICancel { /** Defines the row element. */ row ? : Element ; } hidden export interface BeforeBatchSaveArgs extends ICancel { /** Defines the changed record object. */ batchChanges ? : Object ; } hidden export interface ResizeArgs extends ICancel { /** Event argument of point or touch action. */ e ? : MouseEvent | TouchEvent ; /** Defines the resizing column details */ column ? : Column ; } hidden export interface BatchAddArgs extends ICancel , IPrimaryKey { /** Defines the added data. */ defaultData ? : Object ; /** Defines the column index. */ columnIndex ? : number ; /** Defines the row element. */ row ? : Element ; /** Defines the cell element. */ cell ? : Element ; /** Defines the column object. */ columnObject ? : Column ; } hidden export interface BeginEditArgs extends ICancel , IPrimaryKey { /** Defines the edited data. */ rowData ? : Object ; /** Defines the edited row index. */ rowIndex ? : number ; /** Defines the current edited row. */ row ? : Element ; /** Defines the name of the event. */ type ? : string ; /** Defines the primary key value. */ primaryKeyValue ? : string [ ] ; } export interface DeleteEventArgs { /** Defines the cancel option value. */ cancel ? : boolean ; /** Defines the request type. */ requestType ? : string ; /** Defines the foreign key record object (JSON). @hidden */ foreignKeyData ? : Object ; /** Defines the record objects. */ data ? : Object [ ] ; /** Defines the selected rows for delete. */ tr ? : Element [ ] ; /** Defines the name of the event. */ type ? : string ; } export interface AddEventArgs { /** If `cancel` is set to true, then the current action will stopped. */ cancel ? : boolean ; /** Defines the request type. */ requestType ? : string ; hidden foreignKeyData ? : Object ; /** Defines the record objects. */ data ? : Object ; /** Defines the event name. */ type ? : string ; /** Defines the previous data. */ previousData ? : Object ; /** Defines the added row. */ row ? : Object ; /** Added row index */ index ? : number ; hidden rowData ? : Object ; } export interface SaveEventArgs extends AddEventArgs { /** Defines the previous data. */ previousData ? : Object ; /** Defines the selected row index. */ selectedRow ? : number ; /** Defines the current action. */ action ? : string ; /** Added row index */ index ? : number ; } export interface EditEventArgs extends BeginEditArgs { /** Defines the request type. */ requestType ? : string ; /** Defines foreign data object. */ foreignKeyData ? : Object ; addRecord ? ( data ? , index ? ) : void ; /** Define the form element */ form ? : HTMLFormElement ; /** Define the movable table form element */ movableForm ? : HTMLFormElement ; } export interface DialogEditEventArgs extends EditEventArgs { /** Defines the dialog object */ dialog ? : DialogModel ; } hidden export interface CellEditSameArgs extends ICancel { /** Defines the row data object. */ rowData ? : Object ; /** Defines the column name. */ columnName ? : string ; /** Defines the cell object. */ cell ? : Element ; /** Defines the column object. */ columnObject ? : Column ; /** Defines the cell value. */ value ? : string ; /** Defines isForeignKey option value. */ isForeignKey ? : boolean ; } hidden export interface CellEditArgs extends CellEditSameArgs , IPrimaryKey { /** Defines the current row. */ row ? : Element ; /** Defines the validation rules. */ validationRules ? : Object ; /** Defines the name of the event. */ type ? : string ; /** Defines foreign data object */ foreignKeyData ? : Object ; } export interface IFilterCreate { column ? : Column ; target ? : HTMLElement ; getOptrInstance ? : FlMenuOptrUI ; localizeText ? : L10n ; dialogObj ? : Dialog ; } hidden export interface CellSaveArgs extends CellEditSameArgs { /** Defines the previous value of the cell. */ previousValue ? : string ; } hidden export interface BeforeDataBoundArgs { /** Defines the data. */ result ? : Object [ ] ; /** Defines the data count. */ count ? : number ; } hidden export interface IEdit { formObj ? : FormValidator ; destroy ? : Function ; closeEdit ? ( ) : void ; deleteRecord ? ( fieldname ? , data ? ) : void ; startEdit ? ( tr ? ) : void ; endEdit ? ( ) : void ; closeEdit ? ( ) : void ; addRecord ? ( data ? , index ? ) : void ; deleteRow ? ( tr ) : void ; endEdit ? ( data ? ) : void ; batchSave ? ( ) : void ; getBatchChanges ? ( ) : Object ; removeRowObjectFromUID ? ( uid ) : void ; addRowObject ? ( row ) : void ; editCell ? ( index , field , isAdd ? ) : void ; updateCell ? ( rowIndex , field , value ) : void ; updateRow ? ( index , data ) : void ; saveCell ? ( isForceSave ? ) : void ; addCancelWhilePaging ? ( ) : void ; } hidden export interface CheckBoxChangeEventArgs extends ICancel { /** Defines the checked state. */ checked ? : boolean ; /** Defines the selected row indexes. */ selectedRowIndexes ? : number [ ] ; /** Defines the target element for selection. */ target ? : Element ; } hidden export interface BeforeCopyEventArgs extends ICancel { /** Defines the grid copied data. */ data ? : string ; } /**
 * Defines options for custom command buttons.
 */ export interface CommandButtonOptions extends ButtonModel { /**
     * Defines handler for the click event.
     */ click ? : EmitType < Event > ; } /**
 * Define options for custom command buttons.
 */ export interface CommandModel { /**
     * Define the command Button tooltip
     */ title ? : string ; /**
     * Define the command Button type
     */ type ? : CommandButtonType ; /**
     * Define the button model
     */ buttonOption ? : CommandButtonOptions ; } /**
 * Defines the pending state for Custom Service Data
 */ export interface PendingState { /**
     * The function which resolves the current action's promise.
     */ resolver ? : Function ; /**
     * Defines the current state of the action.
     */ isPending ? : Boolean ; /**
     * Grouping property for Custom data service
     */ group ? : string [ ] ; /**
     * aggregate support for Custom data service
     */ aggregates ? : Object [ ] ; /**
     *  DataSource changed through set model
     */ isDataChanged ? : Boolean ; } /**
 * Sorting property for Custom data Service
 */ export interface Sorts { /** Defines the field to be sorted */ name ? : string ; /** Defines the direction of sorting */ direction ? : string ; } /** Custom data service event types */ export interface DataStateChangeEventArgs { /** Defines the skip count in datasource record */ skip ? : number ; /** Defines the page size */ take ? : number ; /** Defines the filter criteria  */ where ? : PredicateModel [ ] ; /** Defines the sorted field and direction */ sorted ? : Sorts [ ] ; /** Defines the grouped field names */ group ? : string [ ] ; /** Defines the aggregates object */ aggregates ? : Object [ ] ; /** Defines the search criteria */ search ? : PredicateModel [ ] ; /** Defines the grid action details performed by paging, grouping, filtering, searching, sorting */ action ? : PageEventArgs | GroupEventArgs | FilterEventArgs | SearchEventArgs | SortEventArgs ; /** Defines the remote table name */ table ? : string ; /** Defines the selected field names */ select ? : string [ ] ; /** If `count` is set true, then the remote service needs to return records and count */ count ? : boolean ; /** Defines the checkbox filter dataSource */ dataSource ? : Function ; } export interface DataSourceChangedEventArgs { /** Defines the current action type. */ requestType ? : string ; /** Defines the current action. */ action ? : string ; /** Defines the primary column field */ key ? : string | string [ ] ; /** Defines the state of the performed action */ state ? : DataStateChangeEventArgs ; /** Defines the selected row data. */ data ? : Object | Object [ ] ; /** Defines the primary key value */ primaryKeyValues ? : Object [ ] ; /** Defines the index value */ index ? : number ; /** Defines the end of editing function. */ endEdit ? : Function ; /** Defines the changes made in batch editing */ changes ? : Object ; /** Defines the query */ query ? : Query ; } hidden export interface CheckBoxChangeEventArgs extends ICancel { /** Defines the checked state. */ checked ? : boolean ; /** Defines the selected row indexes. */ selectedRowIndexes ? : number [ ] ; /** Defines the target element for selection. */ target ? : Element ; } hidden export interface BeforeCopyEventArgs extends ICancel { /** Defines the grid copied data. */ data ? : string ; } hidden export interface IFocus { matrix : Matrix ; onKeyPress ? : Function ; onClick ? : Function ; onFocus ? : Function ; jump ? : ( action : string , current : number [ ] ) => SwapInfo ; getFocusInfo ? : ( ) => FocusInfo ; getFocusable ? : ( element : HTMLElement ) => HTMLElement ; selector ? : ( row : Row < Column > , cell : Cell < Column > ) => boolean ; generateRows ? : ( rows : Row < Column > [ ] , optionals ? : Object ) => void ; getInfo ? : ( e ? : KeyboardEventArgs ) => FocusedContainer ; validator ? : ( ) => Function ; getNextCurrent ? : ( previous : number [ ] , swap ? : SwapInfo , active ? : IFocus , action ? : string ) => number [ ] ; preventDefault ? : ( e : KeyboardEventArgs , info : FocusInfo ) => void ; } hidden export interface FocusInfo { element ? : HTMLElement ; elementToFocus ? : HTMLElement ; outline ? : boolean ; class ? : string ; skipAction ? : boolean ; uid ? : string ; } hidden export interface CellFocusArgs { element ? : HTMLElement ; parent ? : HTMLElement ; indexes ? : number [ ] ; byKey ? : boolean ; byClick ? : boolean ; keyArgs ? : KeyboardEventArgs ; clickArgs ? : Event ; isJump ? : boolean ; container ? : FocusedContainer ; outline ? : boolean ; cancel ? : boolean ; } hidden export interface FocusedContainer { isContent ? : boolean ; isHeader ? : boolean ; isDataCell ? : boolean ; isFrozen ? : boolean ; isStacked ? : boolean ; isSelectable ? : boolean ; indexes ? : number [ ] ; } hidden export interface SwapInfo { swap ? : boolean ; toHeader ? : boolean ; toFrozen ? : boolean ; current ? : number [ ] ; } hidden export interface SwapInfo { swap ? : boolean ; toHeader ? : boolean ; toFrozen ? : boolean ; current ? : number [ ] ; } export interface ContextMenuItemModel extends MenuItemModel { target ? : string ; } hidden export interface IFilter { type ? : string ; dataSource ? : Object [ ] | DataManager ; hideSearchbox ? : boolean ; itemTemplate ? : string ; ui ? : IFilterMUI ; } hidden export interface IFilterArgs { type ? : string ; field ? : string ; displayName ? : string ; query ? : Query ; dataSource ? : Object [ ] | DataManager ; format ? : string ; filteredColumns ? : Object [ ] ; sortedColumns ? : string [ ] ; localizedStrings ? : Object ; localeObj ? : L10n ; position ? : { X : number ; Y : number ; } ; formatFn ? : Function ; parserFn ? : Function ; hideSearchbox ? : boolean ; allowCaseSensitive ? : boolean ; handler ? : Function ; template ? : Function ; target ? : Element ; foreignKeyValue ? : string ; column ? : Column ; actualPredicate ? : { [ key ] : PredicateModel [ ] ; } ; } export interface PdfExportProperties { /** Defines the Pdf orientation. */ pageOrientation ? : PageOrientation ; /** Defines the Pdf page size. */ pageSize ? : PdfPageSize ; /** Defines the Pdf header. */ header ? : PdfHeader ; /** Defines the Pdf footer. */ footer ? : PdfFooter ; /** Indicates whether to show the hidden columns in exported Pdf */ includeHiddenColumn ? : boolean ; /** Defines the data source dynamically before exporting */ dataSource ? : Object | DataManager ; /** Indicates to export current page or all page */ exportType ? : ExportType ; /** Defines the theme for exported data  */ theme ? : Theme ; /** Defines the file name for the exported file  */ fileName ? : string ; } export interface Theme { /** Defines the style of header content. */ header ? : ThemeStyle ; /** Defines the theme style of record content. */ record ? : ThemeStyle ; /** Defines the theme style of caption content. */ caption ? : ThemeStyle ; } export interface ThemeStyle { /** Defines the font color of theme style. */ fontColor ? : string ; /** Defines the font name of theme style. */ fontName ? : string ; /** Defines the font size of theme style. */ fontSize ? : number ; /** Defines the bold of theme style. */ bold ? : boolean ; /** Defines the borders of theme style. */ borders ? : Border ; } export interface PdfHeader { /** Defines the header content distance from top. */ fromTop ? : number ; /** Defines the height of header content. */ height ? : number ; /** Defines the header contents. */ contents ? : PdfHeaderFooterContent [ ] ; } export interface PdfFooter { /** Defines the footer content distance from bottom. */ fromBottom ? : number ; /** Defines the height of footer content. */ height ? : number ; /** Defines the footer contents */ contents ? : PdfHeaderFooterContent [ ] ; } export interface PdfHeaderFooterContent { /** Defines the content type */ type : ContentType ; /** Defines the page number type */ pageNumberType ? : PdfPageNumberType ; /** Defines the style of content */ style ? : PdfContentStyle ; /** Defines the pdf points for drawing line */ points ? : PdfPoints ; /** Defines the format for customizing page number */ format ? : string ; /** Defines the position of the content */ position ? : PdfPosition ; /** Defines the size of content */ size ? : PdfSize ; /** Defines the base64 string for image content type */ src ? : string ; /** Defines the value for content */ value ? : any ; } export interface PdfPosition { /** Defines the x position */ x : number ; /** Defines the y position */ y : number ; } export interface PdfSize { /** Defines the height */ height : number ; /** Defines the width */ width : number ; } export interface PdfPoints { /** Defines the x1 position */ x1 : number ; /** Defines the y1 position */ y1 : number ; /** Defines the x2 position */ x2 : number ; /** Defines the y2 position */ y2 : number ; } export interface PdfContentStyle { /** Defines the pen color. */ penColor ? : string ; /** Defines the pen size. */ penSize ? : number ; /** Defines the dash style. */ dashStyle ? : PdfDashStyle ; /** Defines the text brush color. */ textBrushColor ? : string ; /** Defines the text pen color. */ textPenColor ? : string ; /** Defines the font size. */ fontSize ? : number ; /** Defines the horizontal alignment. */ hAlign ? : PdfHAlign ; /** Defines the vertical alignment. */ vAlign ? : PdfVAlign ; } /**
 * Defines the context menu item model.
 */ export interface ContextMenuItemModel extends MenuItemModel { /**
     * Define the target to show the menu item.
     */ target ? : string ; } export interface ColumnMenuItemModel extends MenuItemModel { hide ? : boolean ; } export interface ColumnMenuOpenEventArgs extends BeforeOpenCloseMenuEventArgs { column ? : Column ; } export interface ColumnMenuClickEventArgs extends MenuEventArgs { column ? : Column ; } export interface ContextMenuClickEventArgs extends MenuEventArgs { column ? : Column ; } export interface ContextMenuOpenEventArgs extends BeforeOpenCloseMenuEventArgs { column ? : Column ; } export interface ExcelExportCompleteArgs { /** Defines the promise object for blob data. */ promise ? : Promise < { blobData : Blob ; } > ; } export interface PdfExportCompleteArgs { /** Defines the promise object for blob data. */ promise ? : Promise < { blobData : Blob ; } > ; } export interface SelectionNotifyArgs extends NotifyArgs { row ? : HTMLElement ; CheckState ? : boolean ; } hidden export interface DataResult { result : Object [ ] | Group [ ] ; count : number ; aggregates ? : object ; } export interface RowDropEventArgs extends RowDragEventArgs { cancel ? : boolean ; }