import { EventEmitter, OnDestroy } from '@angular/core';
import { Observable } from 'rxjs';
import { Row } from './data-set/row';
import { DataSet } from './data-set/data-set';
import { UnoSmartTableSettings } from '../table.interfaces';
import { LocalDataSource } from './data-source/local/local.data-source';
import * as i0 from "@angular/core";
export declare class Grid implements OnDestroy {
    private internalAction;
    private _createFormShown;
    private _source;
    private _settings;
    private _dataSet;
    private onSelectRowSource;
    private subscriptions$;
    constructor(source: LocalDataSource, settings: UnoSmartTableSettings, internalAction: EventEmitter<any>);
    get createFormShown(): boolean;
    set createFormShown(val: boolean);
    get settings(): UnoSmartTableSettings;
    set settings(settings: UnoSmartTableSettings);
    get dataSet(): DataSet;
    get source(): LocalDataSource;
    set source(source: LocalDataSource);
    ngOnDestroy(): void;
    showActionColumn(position: string): boolean;
    isCurrentActionsPosition(position: string): boolean;
    isActionsVisible(): boolean;
    isMultiSelectVisible(): boolean;
    hasColorRow(): boolean;
    getNewRow(): Row;
    updateSetting(obj: any): void;
    getSetting(name: string, defaultValue?: any): any;
    setColumnFilters(key: string, values: string[]): void;
    /**
     * This method set a row selected.
     *
     * @param row - The row to be selected.
     */
    selectRow(row: Row): void;
    multipleSelectRow(row: Row): void;
    onSelectRow(): Observable<any>;
    /**
     * This method set the propertie isInEditing of class Row to true.
     *
     * @param row - The row to be editing.
     */
    edit(row: Row): void;
    create(row: Row, confirmEmitter: EventEmitter<any>): void;
    save(row: Row, confirmEmitter: EventEmitter<any>): void;
    delete(row: Row, confirmEmitter: EventEmitter<any>): void;
    processDataChange(changes: any): void;
    shouldProcessChangeInternally(changes: any): boolean;
    determineRowToSelect(changes: any): Row;
    prepareSource(source: LocalDataSource): LocalDataSource;
    getInitialSort(): any;
    getSelectedRows(): Array<any>;
    selectAllRows(status: any): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<Grid, never>;
    static ɵdir: i0.ɵɵDirectiveDeclaration<Grid, never, never, {}, {}, never, never, false>;
}
