import { default as Cell } from '../../core/cell/Cell';
import { default as Column } from '../../core/column/Column';
import { default as Module } from '../../core/Module';
import { default as Row } from '../../core/row/Row';
import { default as Tabulator } from '../../core/Tabulator';

type MutatorFunction = (value: any, data: any, type: string, params: any, component: any) => any;
export default class Mutator extends Module {
    static readonly moduleName = "mutator";
    static readonly mutators: Record<string, MutatorFunction>;
    allowedTypes: string[];
    enabled: boolean;
    constructor(table: Tabulator);
    initialize(): void;
    rowDataChanged(row: Row, tempData: any, updatedData: any): any;
    initializeColumn(column: Column): void;
    lookupMutator(value: string | MutatorFunction | undefined): MutatorFunction | false;
    transformRow(data: any, type: string, updatedData?: any): any;
    transformCell(cell: Cell, value: any): any;
    mutateLink(cell: Cell): void;
    enable(): void;
    disable(): void;
}
export {};
