import * as React from 'react';
import TableContext from './TableContext';
import { RowDataType, StandardProps } from './common';
export interface CellProps extends StandardProps {
    align?: 'left' | 'center' | 'right';
    verticalAlign?: 'top' | 'middle' | 'bottom';
    className?: string;
    classPrefix?: string;
    dataKey?: string;
    isHeaderCell?: boolean;
    width?: number;
    height?: number | ((rowData: object) => number);
    left?: number;
    headerHeight?: number;
    style?: React.CSSProperties;
    firstColumn?: boolean;
    lastColumn?: boolean;
    hasChildren?: boolean;
    children?: React.ReactNode | ((rowData: RowDataType, rowIndex: number) => React.ReactNode);
    rowKey?: string | number;
    rowIndex?: number;
    rowSpan?: number;
    rowData?: RowDataType;
    depth?: number;
    onTreeToggle?: (rowKey?: string | number, rowIndex?: number, rowData?: RowDataType, event?: React.MouseEvent) => void;
    renderTreeToggle?: (expandButton: React.ReactNode, rowData?: RowDataType, expanded?: boolean) => React.ReactNode;
    renderCell?: (contentChildren: any) => React.ReactNode;
    wordWrap?: boolean;
    hidden?: boolean;
    treeCol?: boolean;
    expanded?: boolean;
    isDragging?: boolean;
}
export declare const propTypeKeys: string[];
declare class Cell extends React.PureComponent<CellProps> {
    static get contextType(): typeof TableContext;
    static defaultProps: {
        classPrefix: string;
        headerHeight: number;
        depth: number;
        height: number;
        width: number;
        left: number;
    };
    addPrefix: (name: string) => string;
    isTreeCol(): boolean;
    getHeight(): any;
    handleExpandClick: (event: React.MouseEvent<Element, MouseEvent>) => void;
    renderTreeNodeExpandIcon(): JSX.Element | null;
    render(): JSX.Element | null;
}
export default Cell;
