import { default as Module } from '../../core/Module';
import { default as Row } from '../../core/row/Row';
import { default as Tabulator } from '../../core/Tabulator';

export default class ReactiveData extends Module {
    static moduleName: string;
    data: any[] | false;
    blocked: string | false;
    origFuncs: Record<string, any>;
    currentVersion: number;
    constructor(table: Tabulator);
    initialize(): void;
    watchData(data: any[]): void;
    unwatchData(): void;
    watchRow(row: Row): void;
    watchTreeChildren(row: Row): void;
    rebuildTree(row: Row): void;
    watchKey(row: Row, data: any, key: string): void;
    unwatchRow(row: Row): void;
    block(key: string): void;
    unblock(key: string): void;
}
