import React from 'react';
import { Row } from '@tanstack/react-table';
import { InputRule } from '../../SpreadsheetTable/SpreadsheetCell/validationService';
export type Column = {
    id: string;
    columnDef: {
        header?: {
            heading?: string;
        };
        meta?: {
            editable?: boolean;
            disableTrimText?: boolean;
            sidebarContent?: unknown;
        };
        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;
            };
        };
    };
    row: Row<TData> & {
        original: {
            editable: boolean;
            disableTrimText?: boolean;
            sidebarContent?: unknown;
            isOptional?: boolean;
        };
    };
    column: Column;
    /** Optional children can be passed in for custom JSX content */
    children?: React.ReactNode;
};
declare const SpreadsheetCell: <TData extends object>({ table, row, column, children, }: SpreadsheetCellProps<TData>) => React.JSX.Element;
export default SpreadsheetCell;
