import { ChangeDetectorRef, ElementRef, QueryList } from '@angular/core';
import { FormMasterService } from '../../core/service/form-master.service';
import { BaseSimpleGridComponent } from './base-simple-grid.component';
import { ColumnAlign } from './simple-grid-column.directive';
import { CoreComponentsIcon } from '../../core/enum/core-components-icon.enum';
import { IconCacheService } from '../icon/icon-cache.service';
export declare class SimpleGridComponent extends BaseSimpleGridComponent {
    icons: IconCacheService;
    protected changeDetection: ChangeDetectorRef;
    private _formMaster;
    readonly defaultTextAlign: ColumnAlign;
    set headerCells(cells: any);
    rowElements: QueryList<ElementRef>;
    showAdd: boolean;
    showDelete: boolean;
    deselectAllowed: boolean;
    editOnCellClick: boolean;
    rightToolbar: boolean;
    showGridSettings: boolean;
    rowsPerPage: number;
    rowDisabledFn: Function;
    showColumnSort: boolean;
    showRowButtons: boolean;
    /**
     * Promise function, if provided should return boolean
     */
    canRowBeEdittedFn: Function;
    showClass(): boolean;
    handleKeyDown(event: KeyboardEvent): void;
    editing: boolean;
    isSettingsMenuOpen: boolean;
    editRowIndex: number;
    editCellIndex: number;
    selectedRowIndex: number;
    rowToEdit: any;
    currentPage: number;
    sortColumnValue: string;
    sortDirection: 'asc' | 'desc';
    hoveredRowIndex: number;
    readonly Icons: typeof CoreComponentsIcon;
    private _doubleClicked;
    private _newRow;
    private _newRowReference;
    protected readonly IconCacheService: typeof IconCacheService;
    protected readonly CoreComponentsIcon: typeof CoreComponentsIcon;
    constructor(icons: IconCacheService, changeDetection: ChangeDetectorRef, _formMaster: FormMasterService);
    handleClickOutsideRow(): void;
    getIsRowDisabled(idx: number): boolean;
    isRowDisabled(row: any, index: number): Promise<boolean>;
    addNewRow(): Promise<void>;
    validateAndSave(stopediting?: boolean): boolean;
    cancelEditRow(): void;
    removeRow(): void;
    handleClickRow(event: MouseEvent, index: number): void;
    selectTheRow(index: number, emit?: boolean): void;
    handleDblClickRow(event: MouseEvent, index: number, row: any): Promise<void>;
    editRow(event: MouseEvent, selectCell?: boolean, rowIndex?: number): Promise<void>;
    handleCellClick(event: MouseEvent, row: any, rowIndex: number, cellIndex: number): Promise<void>;
    toggleSettingsMenu(): void;
    toggleColumnMenu(col: any): void;
    hideColumn(col: any): void;
    sortColumn(col: any, columnValue: string): void;
    showAllColumns(): void;
    exportToExcel(): void;
    goToPreviousPage(): void;
    goToNextPage(): void;
    setCurrentPage(page: number): void;
    get isNewRow(): boolean;
    private _filterSelectedOrReturnAll;
    protected prepareDataRow(row: any, index: number): Promise<void>;
    private _resetDblClick;
    /**
     *
     * @param next; Move to next or previous cell
     * @param start; Start from cellindex
     * @private
     */
    private _nextAvailableCellToEdit;
    private _getNextEditCellIndex;
    private _getPreviousEditCellIndex;
    private _getNextEditRowIndex;
    private _getPreviousEditRowIndex;
    private _saveRow;
    private _detectChanges;
    private _resetEdit;
}
