///
import "../../CommonImports";
import "../../Core/core.css";
import "./Table.css";
import { IMenuProps } from '../../Menu';
import { ITableColumn, TableColumnLayout } from "./Table.Props";
/**
* The ColumnMore class is used as a custom column within a Table.
*
* It renders a fixed width column with a button that is visible on focus and
* hover that will show a contextual menu for the given item. The caller
* should create a new instance of this for each table. The header for this
* column is empty.
*
* When creating the column you must supply delegate that is used to get the
* menuProps when the menu is opened.
*/
export declare class ColumnMore implements ITableColumn {
private menuAvailable?;
private menuProvider;
columnLayout: TableColumnLayout;
id: string;
width: number;
/**
* Creates an instance of ColumnMore with the appropriate delegates.
*
* @param menuProvider Method that returns the menu props. This is called
* with the item from the row the menu was activated on.
* @param menuAvailable Optional method that is called when the row
* is rendered. The MoreButton will be shown if no method is supplied
* or if the method is supplied and it returns true.
*/
constructor(menuProvider: (listItem: T) => IMenuProps, menuAvailable?: (listItem: T) => boolean);
renderCell: (rowIndex: number, columnIndex: number, tableColumn: ITableColumn, listItem: T) => JSX.Element;
renderHeaderCell: (columnIndex: number, tableColumn: ITableColumn) => JSX.Element;
}