import * as React from 'react';
import { GridRowId } from '../../models';
import { GridAlignment, GridStateColDef } from '../../models/colDef/gridColDef';
import { GridRowModel, GridTreeNode } from '../../models/gridRows';
import { GridPinnedColumnPosition } from '../../hooks/features/columns/gridColumnsInterfaces';
import { PinnedColumnPosition } from '../../internals/constants';
export declare const gridPinnedColumnPositionLookup: {
    1: GridPinnedColumnPosition;
    2: GridPinnedColumnPosition;
    0: undefined;
    3: undefined;
};
export type GridCellProps = React.HTMLAttributes<HTMLDivElement> & {
    align: GridAlignment;
    className?: string;
    colIndex: number;
    column: GridStateColDef;
    row: GridRowModel;
    rowId: GridRowId;
    rowNode: GridTreeNode;
    width: number;
    colSpan?: number;
    disableDragEvents?: boolean;
    isNotVisible: boolean;
    pinnedOffset?: number;
    pinnedPosition: PinnedColumnPosition;
    showRightBorder: boolean;
    showLeftBorder: boolean;
    onClick?: React.MouseEventHandler<HTMLDivElement>;
    onDoubleClick?: React.MouseEventHandler<HTMLDivElement>;
    onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;
    onMouseDown?: React.MouseEventHandler<HTMLDivElement>;
    onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
    onMouseUp?: React.MouseEventHandler<HTMLDivElement>;
    onMouseOver?: React.MouseEventHandler<HTMLDivElement>;
    onKeyUp?: React.KeyboardEventHandler<HTMLDivElement>;
    onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
    onDragEnter?: React.DragEventHandler<HTMLDivElement>;
    onDragOver?: React.DragEventHandler<HTMLDivElement>;
    onFocus?: React.FocusEventHandler<Element>;
    children?: React.ReactNode;
    style?: React.CSSProperties;
    [x: `data-${string}`]: string;
};
declare const MemoizedGridCell: React.ForwardRefExoticComponent<GridCellProps> | React.ForwardRefExoticComponent<React.HTMLAttributes<HTMLDivElement> & {
    [x: `data-${string}`]: string;
    align: GridAlignment;
    className?: string;
    colIndex: number;
    column: GridStateColDef;
    row: GridRowModel;
    rowId: GridRowId;
    rowNode: GridTreeNode;
    width: number;
    colSpan?: number;
    disableDragEvents?: boolean;
    isNotVisible: boolean;
    pinnedOffset?: number;
    pinnedPosition: PinnedColumnPosition;
    showRightBorder: boolean;
    showLeftBorder: boolean;
    onClick?: React.MouseEventHandler<HTMLDivElement>;
    onDoubleClick?: React.MouseEventHandler<HTMLDivElement>;
    onMouseEnter?: React.MouseEventHandler<HTMLDivElement>;
    onMouseDown?: React.MouseEventHandler<HTMLDivElement>;
    onMouseLeave?: React.MouseEventHandler<HTMLDivElement>;
    onMouseUp?: React.MouseEventHandler<HTMLDivElement>;
    onMouseOver?: React.MouseEventHandler<HTMLDivElement>;
    onKeyUp?: React.KeyboardEventHandler<HTMLDivElement>;
    onKeyDown?: React.KeyboardEventHandler<HTMLDivElement>;
    onDragEnter?: React.DragEventHandler<HTMLDivElement>;
    onDragOver?: React.DragEventHandler<HTMLDivElement>;
    onFocus?: React.FocusEventHandler<Element>;
    children?: React.ReactNode;
    style?: React.CSSProperties;
} & React.RefAttributes<HTMLDivElement>>;
export { MemoizedGridCell as GridCell };
