///
import * as React from 'react';
import { ItemsPresenter } from '../Items/ItemsPresenter';
import { PanelFragment, PanelItemContext } from '../Panel/Panel';
import { BootstrapTableProps } from '../Panel/TablePanel';
import { GridViewColumns } from './GridViewColumn';
import { ListItemsViewTemplate, ListItemsViewTemplateProps } from './ListItemsViewTemplate';
export interface GridTemplateProps {
headerTemplate?: (header: PanelFragment, item: T | undefined, field: string | undefined) => PanelFragment;
cellTemplate?: (cell: PanelFragment, item: T | undefined, field: string | undefined) => PanelFragment;
}
export interface GridTableRenderProps extends BootstrapTableProps {
fixedLayout?: boolean;
}
export interface GridViewProps extends GridTemplateProps, ListItemsViewTemplateProps, GridTableRenderProps {
}
export interface GridViewComponentProps extends React.HTMLProps, GridViewProps {
}
export declare class GridView extends ListItemsViewTemplate {
static displayName: string;
static readonly Columns: typeof GridViewColumns;
private readonly logger;
private columns;
constructor(props: any);
render(): JSX.Element | null;
protected renderTablePanel(itemTemplates: React.ReactNode[], itemsPresenter: ItemsPresenter, items: Array<{}> | undefined): JSX.Element;
protected getColumnDefinitions(): React.ReactChild[] | undefined;
protected renderTableHeaderRow(): JSX.Element | undefined;
protected renderTableRow(item: {}, index: number): JSX.Element | undefined;
}