import * as React from 'react';
import { GridRowId, GridCellMode, GridEditCellProps } from '../../models';
import { GridColDef, GridAlignment } from '../../models/colDef/gridColDef';
type GridCellV7Props = {
    align: GridAlignment;
    className?: string;
    colIndex: number;
    column: GridColDef;
    rowId: GridRowId;
    height: number | 'auto';
    showRightBorder?: boolean;
    width: number;
    colSpan?: number;
    disableDragEvents?: boolean;
    isNotVisible?: boolean;
    editCellState: GridEditCellProps<any> | null;
    onClick?: React.MouseEventHandler<HTMLDivElement>;
    onDoubleClick?: React.MouseEventHandler<HTMLDivElement>;
    onMouseDown?: React.MouseEventHandler<HTMLDivElement>;
    onMouseUp?: React.MouseEventHandler<HTMLDivElement>;
    onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
    onDragEnter?: React.DragEventHandler<HTMLDivElement>;
    onDragOver?: React.DragEventHandler<HTMLDivElement>;
    [x: string]: any;
};
type GridCellWrapperProps = GridCellV7Props;
export type GridCellProps<V = any, F = V> = GridCellWrapperProps & {
    field: string;
    formattedValue?: F;
    hasFocus?: boolean;
    isEditable?: boolean;
    isSelected?: boolean;
    value?: V;
    cellMode?: GridCellMode;
    children: React.ReactNode;
    tabIndex: 0 | -1;
};
declare const GridCell: React.ForwardRefExoticComponent<Omit<GridCellProps<any, any>, "ref"> & React.RefAttributes<HTMLDivElement>>;
declare const MemoizedCellWrapper: React.ForwardRefExoticComponent<Omit<GridCellV7Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
export { MemoizedCellWrapper as GridCellWrapper, GridCell };
declare const MemoizedGridCellV7: React.ForwardRefExoticComponent<Omit<GridCellV7Props, "ref"> & React.RefAttributes<HTMLDivElement>>;
export { MemoizedGridCellV7 as GridCellV7 };
