import { OnDestroy, Renderer2, OnChanges, SimpleChanges, EventEmitter, ChangeDetectorRef } from '@angular/core';
import { UntypedFormGroup } from '@angular/forms';
import { Grid } from './lib/grid';
import { Row } from './lib/data-set/row';
import { UnoSmartTableSettings } from './table.interfaces';
import { LocalDataSource } from './lib/data-source/local/local.data-source';
import { TbodyCollapseContentDirective } from './components/tbody/tbody-collapse-content.directive';
import * as i0 from "@angular/core";
export declare class TableComponent implements OnChanges, OnDestroy {
    private render;
    private cdRef;
    /**
     * The data to be represented on table.
     */
    source: LocalDataSource;
    /**
     * The table settings.
     */
    settings: UnoSmartTableSettings;
    /**
     * The columns that user want to see.
     */
    userSettings: any;
    updateColumnList: any;
    columnFilters: any[];
    paging: any;
    /**
     * Triggered once a row is selected.
     */
    rowSelect: EventEmitter<any>;
    /**
     * Trigger only on a user click a event.
     */
    userRowSelect: EventEmitter<any>;
    /**
     * Trigger when user hover mouse.
     */
    rowHover: EventEmitter<any>;
    create: EventEmitter<any>;
    createSave: EventEmitter<any>;
    cancelCreate: EventEmitter<any>;
    edit: EventEmitter<any>;
    delete: EventEmitter<any>;
    editSave: EventEmitter<any>;
    cancelEdit: EventEmitter<any>;
    rowActionCustomEvent: EventEmitter<any>;
    rowActionDownloadCustomEvent: EventEmitter<any>;
    rowHeaderActionCustomEvent: EventEmitter<any>;
    rowSelectActionCustomEvent: EventEmitter<any>;
    selectedElem: EventEmitter<any>;
    deleteConfirm: EventEmitter<any>;
    editConfirm: EventEmitter<any>;
    createConfirm: EventEmitter<any>;
    internalAction: EventEmitter<any>;
    searchTerm: EventEmitter<string>;
    formChanges: EventEmitter<any>;
    saveOptions: EventEmitter<any>;
    getColumnFilters: EventEmitter<string>;
    /**
     * Set content for collapsible table.
     */
    collapseTableContent: TbodyCollapseContentDirective;
    form: UntypedFormGroup;
    formHTML: HTMLElement;
    submitted: boolean;
    tableClass: string;
    tableId: string;
    isHideHeader: boolean;
    rowClassFunction: Function;
    grid: Grid;
    private header;
    private table;
    private subscriptions$;
    private defaultSettings;
    constructor(render: Renderer2, cdRef: ChangeDetectorRef);
    ngOnChanges(changes: SimpleChanges): void;
    ngOnDestroy(): void;
    onSubmit(): void;
    editRowSelect(row: Row): void;
    createRowNew(): void;
    onUserSelectRow(row: Row): void;
    onRowHover(row: Row): void;
    multipleSelectRow(row: Row): void;
    onSelectAllRows(value: boolean): void;
    onSelectRow(row: Row): void;
    onMultipleSelectRow(row: Row): void;
    /**
     * This method set the first data and settings of the table.
     */
    initGrid(): void;
    /**
     * This method return a instance of DataSource.
     */
    prepareSource(): LocalDataSource;
    /**
     * This method return a object of UnoSmartTableSettings.
     */
    prepareSettings(): UnoSmartTableSettings;
    prepareUserSettings(): UnoSmartTableSettings;
    sort($event: any): void;
    filter($event: any): void;
    onClickIconOptions(status: boolean): void;
    onSaveOptions(obj: any): void;
    setSearchTerm(term: string): void;
    private resetAllSelector;
    private emitUserSelectRow;
    private emitSelectRow;
    private removeResizableGrid;
    private resizableGrid;
    private setListners;
    private createDiv;
    private paddingDiff;
    private getStyleVal;
    static ɵfac: i0.ɵɵFactoryDeclaration<TableComponent, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TableComponent, "uno-smart-table", never, { "source": "source"; "settings": "settings"; "userSettings": "userSettings"; "updateColumnList": "updateColumnList"; "columnFilters": "columnFilters"; "paging": "paging"; }, { "rowSelect": "rowSelect"; "userRowSelect": "userRowSelect"; "rowHover": "rowHover"; "create": "create"; "createSave": "createSave"; "cancelCreate": "cancelCreate"; "edit": "edit"; "delete": "delete"; "editSave": "editSave"; "cancelEdit": "cancelEdit"; "rowActionCustomEvent": "rowActionCustomEvent"; "rowActionDownloadCustomEvent": "rowActionDownloadCustomEvent"; "rowHeaderActionCustomEvent": "rowHeaderActionCustomEvent"; "rowSelectActionCustomEvent": "rowSelectActionCustomEvent"; "selectedElem": "selectedElem"; "deleteConfirm": "deleteConfirm"; "editConfirm": "editConfirm"; "createConfirm": "createConfirm"; "internalAction": "internalAction"; "searchTerm": "searchTerm"; "formChanges": "formChanges"; "saveOptions": "saveOptions"; "getColumnFilters": "getColumnFilters"; }, ["collapseTableContent"], never, false>;
}
