import { OnChanges, OnInit, AfterViewInit, EventEmitter, SimpleChange, DoCheck, ViewContainerRef } from "@angular/core";
import { NSBaseComponent } from "../ns-base";
import { INSGridCascadeFunction, INSGridColumn, INSGridEditorCustomComponentInstance, INSGridExtraRowHeaderRendererComponentInstance, INSGridGroupRendererComponentInstance, INSGridHeaderRendererComponentInstance, INSGridRendererComponentInstance, INSGridSetting, INSGridToolTipRendererComponentInstance } from "./interfaces";
import { NSDynamicComponentService } from "../../services";
import * as i0 from "@angular/core";
declare var NSGrid: any;
export interface INSGridAngularSetting extends INSGridSetting {
    setting?: INSGridSetting;
    [propName: string]: any;
}
export declare class NSGridAngular extends NSBaseComponent<typeof NSGrid> implements OnChanges, OnInit, AfterViewInit, DoCheck {
    private dynamicComponentService;
    dynamicContainer: ViewContainerRef;
    setting: INSGridAngularSetting | undefined | null;
    set dataSource(arrSource: any[]);
    get dataSource(): any[] | undefined;
    gridRendered: EventEmitter<any>;
    rowSelected: EventEmitter<any>;
    rowUnselected: EventEmitter<any>;
    rowClicked: EventEmitter<any>;
    rowDoubleClicked: EventEmitter<any>;
    rowNavigated: EventEmitter<any>;
    cellSelected: EventEmitter<any>;
    cellUnselected: EventEmitter<any>;
    cellClicked: EventEmitter<any>;
    cellDoubleClicked: EventEmitter<any>;
    sortChanging: EventEmitter<any>;
    sortChanged: EventEmitter<any>;
    advancedFilterClosing: EventEmitter<any>;
    filterChanging: EventEmitter<any>;
    filterChanged: EventEmitter<any>;
    filterResetted: EventEmitter<any>;
    columnResizing: EventEmitter<any>;
    columnResized: EventEmitter<any>;
    columnMoving: EventEmitter<any>;
    columnMoved: EventEmitter<any>;
    rendererComponentCreated: EventEmitter<any>;
    editorCellValueChanged: EventEmitter<any>;
    detailComponentCreated: EventEmitter<any>;
    static readonly GRID_RENDERED = "gridRendered";
    static readonly MULTI_SELECTION_EDITORS_TEXT = "TEXT";
    static readonly MULTI_SELECTION_EDITORS_TEXTAREA = "TEXTAREA";
    static readonly GRID_TYPE_HIERARCHICAL = "hierarchical";
    static readonly GRID_TYPE_GROUP = "group";
    static readonly GRID_TYPE_NORMAL = "normal";
    static readonly GRID_TYPE_MASTER_DETAIL = "masterdetail";
    static readonly PAGINATION_TYPE_SCROLL = "scroll";
    static readonly PAGINATION_TYPE_PAGES = "pages";
    static readonly PAGINATION_MODE_AUTO = "auto";
    static readonly PAGINATION_MODE_MANUAL = "manual";
    static readonly RESPONSIVE_MODE_STACK = "stack";
    static readonly RESPONSIVE_MODE_COLUMN_TOGGLE = "columnToggle";
    static readonly ADVANCED_FILTER_TEXT = "text";
    static readonly ADVANCED_FILTER_NUMBER = "number";
    static readonly ADVANCED_FILTER_LIST = "list";
    static readonly MULTICOLUMN_KEY_SHIFT = "shift";
    static readonly MULTICOLUMN_KEY_CTRL = "ctrl";
    static readonly MULTICOLUMN_KEY_ALT = "alt";
    static readonly NAVIGATION_UP = "up";
    static readonly NAVIGATION_DOWN = "down";
    static readonly EDITOR_EDITTYPE_CELL = "cell";
    static readonly EDITOR_EDITTYPE_ROW = "row";
    static readonly EDITOR_EDITING_SINGLECLICK = "singleClick";
    static readonly EDITOR_EDITING_DOUBLECLICK = "doubleClick";
    static readonly EDITOR_EDITING_NOCLICK = "noClick";
    static readonly EDITOR_TYPE_TEXT = "text";
    static readonly EDITOR_TYPE_TEXTAREA = "textArea";
    static readonly EDITOR_TYPE_CUSTOM = "custom";
    private __dataSource;
    private __objCustomComponent;
    private __masterDetailRendererInstance;
    private __hasGridDataSource;
    private __detectSettingChanges;
    private updateCallbacksOnUpdate;
    private __differ;
    private __gridRendered;
    constructor(dynamicComponentService: NSDynamicComponentService);
    ngOnInit(): void;
    ngOnChanges(changes: {
        [propName: string]: SimpleChange;
    }): void;
    ngDoCheck(): void;
    ngAfterViewInit(): void;
    setHeightOffset(offset: number): void;
    deviceViewChanged(conditionTrue: boolean, queryIndex?: number, query?: string): void;
    setState(data: any): void;
    getState(): any;
    setColumn(arrColumns: INSGridColumn[]): void;
    setContextMenuSetting(contextMenuSetting: any): void;
    getOrignalItem(item: any): void;
    addRows(source: any[]): void;
    removeRows(arrIndex: any[]): void;
    groupBy(groupByField: string): void;
    expandAll(): void;
    collapseAll(): void;
    expandCollapseByRow(element: any, rowIndex: number): void;
    getRowInfo(row: any): any;
    getCellInfo(cell: any): any;
    getItemInfo(objItem: any): any;
    getItemInfoByKeyField(keyFieldValue: string): any;
    cascadeValues(event: any, callBack: INSGridCascadeFunction): void;
    setFontSize(fontSize: number): void;
    addColumn(objColumn: INSGridColumn): void;
    changeDeviceView(conditionTrue: boolean): void;
    hideColumn(column: string | Number): boolean;
    showColumn(column: string | Number): boolean;
    swapColumns(sourceColumn: INSGridColumn, destinationColumn: INSGridColumn): boolean;
    moveColumn(column: INSGridColumn, toIndex: number): boolean;
    sortBy(column: INSGridColumn, isAscending: boolean): void;
    autoResizeColumn(column: INSGridColumn): void;
    updateRowByIndex(index: number): void;
    updateRowByKeyField(keyFieldValue: any): void;
    updateCellByIndex(index: number, dataField: string): void;
    updateCellByKeyField(keyFieldValue: any, dataField: string): void;
    updateItemInDataSource(item: any): void;
    getGroupedSource(): any[];
    setSelectedItems(arrItems: any[]): void;
    addSelectedItems(arrItems: any[]): void;
    removeSelectedItems(arrItems: any[]): void;
    setSelectedItem(item: any): void;
    setSelectedIndexes(arrSelectedIndex: number[]): void;
    getSelectedIndex(): number;
    getSelectedItem(): any;
    getSelectedIndexes(): number[];
    getSelectedItems(): any[];
    deselectAll(): void;
    filter(filter: any, setting: any, enableHighlighting?: boolean, recordLimit?: number): void;
    resetFilters(): void;
    getFilteredData(): any[];
    highlightText(dataField: string, text: string): void;
    unHighlightText(): void;
    fixFixedHeader(): void;
    scrollToIndex(selectedIndex: number, animationRequired?: boolean): void;
    setNoDataMessage(message: string): void;
    renderHeaderExtraRows(): void;
    editByIndex(index: any, dataField?: string): void;
    editByKeyField(keyFieldValue: any, dataField?: string): void;
    editByItem(item: any, dataField?: string): void;
    editStopByIndex(index: any, dataField?: string, isCancel?: boolean): void;
    editStopByKeyField(keyFieldValue: any, dataField?: string, isCancel?: boolean): void;
    editStopByItem(item: any, dataField?: string, isCancel?: boolean): void;
    getEditorInstances(): any[];
    setStyle(styleProp: string, value: any): void;
    setFocus(isFocus: boolean): void;
    hasFocus(): boolean;
    setTheme(theme: string): void;
    changeProperty(propertyName: string, value: any): void;
    getRendererComponentInstance(columnName: string, rowIndex: number): INSGridRendererComponentInstance | null;
    getGroupRendererComponentInstance(columnName: string, rowIndex: number): INSGridGroupRendererComponentInstance | null;
    getHeaderRendererComponentInstance(columnName: string): INSGridHeaderRendererComponentInstance | null;
    getToolTipRendererComponentInstance(columnName: string, rowIndex: number): INSGridToolTipRendererComponentInstance | null;
    getExtraRowHeaderRendererComponentInstance(columnName: string, rowIndex: number): INSGridExtraRowHeaderRendererComponentInstance | null;
    getEditorComponentInstance(columnName: string, rowIndex: number): INSGridEditorCustomComponentInstance | null;
    getGrid(): any;
    private __applySettingChanges;
    private __setColumn;
    private __setColumnObject;
    private __customEditor;
    private __renderer;
    private __groupRenderer;
    private __headerRenderer;
    private __toolTipRenderer;
    private __extraRowHeaderRenderer;
    private __processMasterDetailSetting;
    private __customDetailComponent;
    private __getComponent;
    private __initializeCompInObject;
    private __eventDispatcher;
    private __emitRendererComponentCreated;
    private __callAfterSetData;
    private __getElement;
    static ɵfac: i0.ɵɵFactoryDeclaration<NSGridAngular, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<NSGridAngular, "ns-grid-angular", never, { "setting": { "alias": "setting"; "required": false; }; "dataSource": { "alias": "dataSource"; "required": false; }; }, { "gridRendered": "gridRendered"; "rowSelected": "rowSelected"; "rowUnselected": "rowUnselected"; "rowClicked": "rowClicked"; "rowDoubleClicked": "rowDoubleClicked"; "rowNavigated": "rowNavigated"; "cellSelected": "cellSelected"; "cellUnselected": "cellUnselected"; "cellClicked": "cellClicked"; "cellDoubleClicked": "cellDoubleClicked"; "sortChanging": "sortChanging"; "sortChanged": "sortChanged"; "advancedFilterClosing": "advancedFilterClosing"; "filterChanging": "filterChanging"; "filterChanged": "filterChanged"; "filterResetted": "filterResetted"; "columnResizing": "columnResizing"; "columnResized": "columnResized"; "columnMoving": "columnMoving"; "columnMoved": "columnMoved"; "rendererComponentCreated": "rendererComponentCreated"; "editorCellValueChanged": "editorCellValueChanged"; "detailComponentCreated": "detailComponentCreated"; }, never, never, false, never>;
}
export {};
