///
import "../../CommonImports";
import "../../Core/core.css";
import "./Table.css";
import { IBehavior } from '../../Utilities/Behavior';
import { ITableColumn, ITableColumnBehaviorProps, TableColumnLayout } from "./Table.Props";
export declare const ColumnSelectWidth = 40;
/**
* ColumnSelect is used to render additional selection ui for a given row.
*
* This renders a fixed width column that contains a checkbox in the header
* as well as each row that represents the selection state of the row. It
* also allows the user to change the selection state. The header checkbox
* is used to set the state of all rows in the table to the same state.
*
*/
export declare class ColumnSelect implements ITableColumn<{}> {
private itemProvider?;
private ariaHidden;
private selection?;
private columnSelectBehavior;
private allSelected;
columnLayout: TableColumnLayout;
id: string;
width: number;
behaviors: IBehavior, {}>[];
componentDidMount(props: ITableColumnBehaviorProps<{}>): void;
componentDidUpdate(props: ITableColumnBehaviorProps<{}>): void;
componentWillUnmount(): void;
renderCell: (rowIndex: number, columnIndex: number, listColumn: ITableColumn<{}>) => JSX.Element;
renderHeaderCell: (columnIndex: number, listColumn: ITableColumn<{}>, focuszoneId: string) => JSX.Element;
private toggleSelectAll;
private onChangeHeader;
private onSelectionChange;
}