import React, { ReactNode } from 'react';
import PropTypes from 'prop-types';
export interface ColumnProps {
    align?: 'left' | 'center' | 'right';
    verticalAlign?: 'top' | 'middle' | 'bottom';
    width?: number;
    fixed?: boolean | 'left' | 'right';
    resizable?: boolean;
    sortable?: boolean;
    flexGrow?: number;
    minWidth?: number;
    colSpan?: number;
    treeCol?: boolean;
    hidden?: boolean;
    titleEditable?: boolean;
    /**
     * 是否可隐藏，设为false时不会出现在列过滤选项中
     * @default true
     */
    hideable?: boolean;
    onResize?: (columnWidth?: number, dataIndex?: string) => void;
    render?: (props: {
        rowData: any;
        rowIndex: number;
        dataIndex?: string | undefined;
    }) => React.ReactNode;
    dataIndex?: string;
    key?: string;
    sort?: number;
    title?: React.ReactNode | (() => React.ReactNode);
    /**
     * column group header
     */
    header?: ReactNode;
    children?: React.ReactElement<ColumnProps>[] | ColumnProps[];
    type?: 'ColumnGroup';
}
declare function Column(_props: ColumnProps): null;
declare namespace Column {
    var defaultProps: {
        width: number;
        hideable: boolean;
        hidden: boolean;
        fixed: boolean;
        sortable: boolean;
    };
    var propTypes: {
        align: PropTypes.Requireable<string>;
        verticalAlign: PropTypes.Requireable<string>;
        width: PropTypes.Requireable<number>;
        fixed: PropTypes.Requireable<string | boolean>;
        resizable: PropTypes.Requireable<boolean>;
        sortable: PropTypes.Requireable<boolean>;
        flexGrow: PropTypes.Requireable<number>;
        minWidth: PropTypes.Requireable<number>;
        colSpan: PropTypes.Requireable<number>;
        sort: PropTypes.Requireable<number>;
        treeCol: PropTypes.Requireable<boolean>;
        hidden: PropTypes.Requireable<boolean>;
        hideable: PropTypes.Requireable<boolean>;
        titleEditable: PropTypes.Requireable<boolean>;
        onResize: PropTypes.Requireable<(...args: any[]) => any>;
        render: PropTypes.Requireable<(...args: any[]) => any>;
        dataIndex: PropTypes.Requireable<string>;
    };
    var __PFM_TABLE_COLUMN: boolean;
}
export default Column;
