import { ElementRef, SimpleChanges, EventEmitter } from '@angular/core';
import { ColumnDefinition, Options, RowComponent, TabulatorFull as Tabulator } from 'tabulator-tables';
import * as i0 from "@angular/core";
export type TabulatorEvent<T = any> = {
    event: any;
    row: RowComponent;
    data: T;
};
export declare class TabulatorComponent<T = any> {
    tableRef: ElementRef<any>;
    private _dataSource;
    set dataSource(data: Object[]);
    get dataSource(): Object[];
    private _columns;
    set columns(data: ColumnDefinition[]);
    get columns(): ColumnDefinition[];
    key: string;
    options: Options;
    table: Tabulator;
    cellClick: EventEmitter<any>;
    cellDblClick: EventEmitter<any>;
    rowClick: EventEmitter<TabulatorEvent<T>>;
    rowContext: EventEmitter<TabulatorEvent<T>>;
    rowDblClick: EventEmitter<TabulatorEvent<T>>;
    constructor();
    ngAfterViewInit(): void;
    ngOnChanges(changes: SimpleChanges): void;
    static ɵfac: i0.ɵɵFactoryDeclaration<TabulatorComponent<any>, never>;
    static ɵcmp: i0.ɵɵComponentDeclaration<TabulatorComponent<any>, "app-tabulator", never, { "dataSource": { "alias": "dataSource"; "required": false; }; "columns": { "alias": "columns"; "required": false; }; "key": { "alias": "key"; "required": false; }; "options": { "alias": "options"; "required": false; }; }, { "cellClick": "cellClick"; "cellDblClick": "cellDblClick"; "rowClick": "rowClick"; "rowContext": "rowContext"; "rowDblClick": "rowDblClick"; }, never, never, true, never>;
}
