import React from 'react';
import { Row, Column as Cell } from '@tanstack/react-table';
import { InputRule } from './validationService';
export type Column = {
    id: string;
    columnDef: {
        header?: {
            heading?: string;
        };
        meta?: {
            editable?: boolean;
            disableTrimText?: boolean;
        };
        accessorKey: string;
    };
};
export type SpreadsheetCellProps<TData extends object> = {
    getValue: () => string;
    table: {
        options: {
            meta?: {
                inputRules: {
                    [key: string]: InputRule;
                };
                isReviewMode: boolean;
                updateData: (rowIndex: number, columnId: string, value: string | number | boolean | Date) => void;
            };
        };
        getAllColumns: () => Cell<TData>[];
        getColumn: (columnId: string) => Cell<TData> | undefined;
    };
    row: Row<TData> & {
        original: {
            editable: boolean;
            disableTrimText?: boolean;
            isOptional?: boolean;
        };
    };
    column: Column;
    /** Optional children can be passed in for custom JSX content */
    children?: React.ReactNode;
    isEdited?: (val: boolean) => void;
};
declare const SpreadsheetCell: <TData extends object>({ getValue, table, row, column, children, isEdited, }: SpreadsheetCellProps<TData>) => React.JSX.Element;
export default SpreadsheetCell;
