///
import * as React from 'react';
import { PanelFragment } from '../Panel/Panel';
export declare class GridViewColumns extends React.Component {
render(): React.ReactNode;
}
export declare enum GridColumnComponentType {
Header = 0,
Cell = 1,
Content = 2,
Tooltip = 3,
}
export interface GridViewColumnProps {
/**
* internal passthru property
* DO NOT SET, this property is assigned automatically by the GridView
*/
item?: {};
field?: string;
header?: PanelFragment;
headerTemplate?: (header: PanelFragment) => PanelFragment;
headerTooltipTemplate?: PanelFragment | ((column: GridViewColumn, content: PanelFragment) => PanelFragment);
headerStyle?: React.CSSProperties;
headerProps?: {};
cellTemplate?: (item: {}, field: string | undefined) => PanelFragment;
cellTooltipTemplate?: (item: {}, field: string | undefined, content: PanelFragment) => PanelFragment;
cellStyle?: React.CSSProperties;
cellProps?: {};
itemTemplate?: (fragment: PanelFragment, item: {} | undefined, field: string | undefined) => PanelFragment;
id?: string;
className?: string;
width?: number | string;
}
export declare class GridViewColumn extends React.Component {
static displayName: string;
static canRenderHeader(column: React.ReactChild): boolean;
static sanitizeFragment(content?: PanelFragment): {};
static renderItemField(item: StringMap, field: string | undefined): PanelFragment;
render(): JSX.Element;
protected renderContent(type: 'header' | 'cell', content: PanelFragment, item: {} | undefined, field: string | undefined): {} | null | undefined;
protected renderHeader(headerTemplate?: (header: PanelFragment) => PanelFragment): JSX.Element;
protected renderHeaderTooltip(context: PanelFragment): PanelFragment;
protected renderCell(cellTemplate?: (item: {}, field: string | undefined) => PanelFragment): JSX.Element;
protected renderCellTooltip(context: PanelFragment): {} | null | undefined;
protected renderTooltip(content: PanelFragment, context: PanelFragment): {} | null | undefined;
protected getClassNameForComponent(type: GridColumnComponentType): T["className"];
}
export interface NavButtonColumnProps extends GridViewColumnProps {
href: string | undefined | ((item: {}, field: string | undefined) => string | undefined);
}
export declare class NavButtonColumn extends GridViewColumn {
renderCell(): JSX.Element;
getClassNameForComponent(type: GridColumnComponentType): string;
protected renderNavButton(item: {}, field: string | undefined): PanelFragment;
}