import { EventEmitter, OnInit, TemplateRef, OnChanges, SimpleChanges, ChangeDetectorRef } from "@angular/core";
import { GridComponent } from "@syncfusion/ej2-angular-grids";
import { BeforeOpenCloseEventArgs } from "@syncfusion/ej2-angular-inputs";
import { IActionMenuItem, IColumnField } from "../constant";
export declare class CommonGridComponent implements OnInit, OnChanges {
    private ref;
    grid: GridComponent;
    showCheckBox: boolean;
    loaded: boolean;
    hiddenLoaded: boolean;
    authorized: boolean;
    selectedDiffKey: string;
    gridHeight: string;
    gridId: string;
    resizeSettings: {
        mode: string;
    };
    filterSettings: {
        type: string;
    };
    template: any;
    fields: IColumnField[];
    dataSource: any[];
    editSettings: any;
    columnTemplate: TemplateRef<any>;
    pageSettings: any;
    allowPaging: boolean;
    allowRowDragAndDrop: boolean;
    clipMode: string;
    checkBoxWidth: number;
    childGrid: any;
    frozenColumns: any;
    columnChooserSettings: any;
    headerTemplate: TemplateRef<any>;
    /**
       * Sample: [
              {
                  text: "Preview",
                  target: ".e-content",
                  id: "preview-icon",
                  iconCss: "preview",
              },
              {
                  text: "Download",
                  target: ".e-content",
                  id: "download-icon",
                  iconCss: "download",
              }
          ]
          用于定义row中 点击事件
       */
    contextMenuItems: IActionMenuItem[];
    selectionSettings: {
        type: string;
        checkboxOnly: boolean;
    };
    alwaysShowCheckbox: boolean;
    defaultRecord: any;
    disableSystemRow: boolean;
    recordDoubleClick: EventEmitter<any>;
    actionComplete: EventEmitter<any>;
    rowSelected: EventEmitter<any>;
    rowDeselected: EventEmitter<any>;
    rowDeselecting: EventEmitter<any>;
    onContextMenu: EventEmitter<any>;
    actionHandler: EventEmitter<any>;
    queryCellInfo: EventEmitter<any>;
    recordClick: EventEmitter<any>;
    actionBegin: EventEmitter<any>;
    rowDataBound: EventEmitter<any>;
    dataBound: EventEmitter<any>;
    exportQueryCellInfo: EventEmitter<any>;
    rowSelecting: EventEmitter<any>;
    rowDrop: EventEmitter<any>;
    rowDrag: EventEmitter<any>;
    rowDragStart: EventEmitter<any>;
    selectId: any[];
    startPaging: boolean;
    indexList: any[];
    className: string;
    translation: any;
    constructor(ref: ChangeDetectorRef);
    ngOnInit(): void;
    trackByFn(index: any, item: any): any;
    ngOnChanges(changes: SimpleChanges): void;
    _load(): void;
    _dataBound(args: any): void;
    _exportQueryCellInfo(args: any): void;
    _rowDrag(args: any): void;
    _rowDragStart(args: any): void;
    _recordDoubleClick($event: any): void;
    _rowDeselecting($event: any): void;
    /**
       * [selectionSettings]="{ checkboxOnly: true }"
         [showCheckBox]="true"
         控件使用时，必须配置上面两个属性，否则，全选会失效
       */
    _rowSelected($event: any): void;
    _rowDeselected($event: any): void;
    _onContextMenu(args: any): void;
    _actionBegin(args: any): void;
    search(keywords: any): void;
    selectRows(indexList: number[]): void;
    selectRow(index: any): void;
    getCurrentViewRecords(): Object[];
    customiseCell($event: any): void;
    contextMenuOpen(args?: BeforeOpenCloseEventArgs): void;
    _actionHandler($event: any): void;
    private chooseRecords;
    _recordClick($event: any): void;
    refresh(): void;
    _rowSelecting(e: any): void;
    refreshColumns(): void;
    refreshHeader(): void;
    export(excelExportProperties?: any): void;
    getSelectedRecords(): Object[];
    onRowDrop(e: any): void;
    _rowDataBound($event: any): void;
    clearSelection(): void;
    excelExport(): void;
    addItem(): void;
    saveItem(): void;
    editItem(index: any): void;
    deleteItem(index: any): void;
    cancelItem(index: any): void;
    initList: (num?: number, key?: string) => any[];
    showLoading(): void;
    hideLoading(): void;
}
