/// <reference types="react" />
import * as React from 'react';
import { BaseComponent, IRenderFunction } from '../../Utilities';
import { IColumn } from './DetailsList.types';
import { ITooltipHostProps } from '../../Tooltip';
import { IDragDropHelper } from './../../utilities/dragdrop/interfaces';
export interface IDetailsColumnProps extends React.Props<DetailsColumn> {
    componentRef?: () => void;
    column: IColumn;
    columnIndex: number;
    parentId?: string;
    onRenderColumnHeaderTooltip?: IRenderFunction<ITooltipHostProps>;
    onColumnClick?: (ev: React.MouseEvent<HTMLElement>, column: IColumn) => void;
    onColumnContextMenu?: (column: IColumn, ev: React.MouseEvent<HTMLElement>) => void;
    dragDropHelper?: IDragDropHelper | null;
    isDraggable?: boolean;
    setDraggedItemIndex?: (itemIndex: number) => void;
    isDropped?: boolean;
}
export declare class DetailsColumn extends BaseComponent<IDetailsColumnProps> {
    private _root;
    private _dragDropSubscription;
    constructor(props: IDetailsColumnProps);
    render(): (JSX.Element | null)[];
    componentDidMount(): void;
    componentWillUnmount(): void;
    componentDidUpdate(): void;
    private _onRenderColumnHeaderTooltip;
    private _onColumnClick(column, ev);
    private _getColumnDragDropOptions();
    private _onDragStart(item?, itemIndex?, selectedItems?, event?);
    private _onDragEnd(item?, event?);
    private _onColumnContextMenu(column, ev);
    private _onRootMouseDown(ev);
}
