///
import * as React from 'react';
import { GridRenderProps } from './Grid';
import { GridColumnContext, GridRowContext } from './GridLayout';
import { Panel, PanelFragment, PanelItemContext, PanelItemProp, PanelProps } from './Panel';
export interface UniformRowItemProps {
/**
* apply custom row class name to the corresponding panel item
*/
rowClassName?: PanelItemProp;
/**
* apply custom row style to the corresponding panel item
*/
rowStyle?: PanelItemProp;
/**
* apply custom row props to the corresponding panel item
*/
rowProps?: PanelItemProp;
}
export interface UniformColumnItemProps {
/**
* apply custom column class name to the corresponding panel item
*/
columnClassName?: PanelItemProp;
/**
* apply custom column style to the corresponding panel item
*/
columnStyle?: PanelItemProp;
/**
* apply custom column props to the corresponding panel item
*/
columnProps?: PanelItemProp;
}
export interface UniformGridPanelProps extends PanelProps, UniformRowItemProps, UniformColumnItemProps, GridRenderProps {
/**
* number of columns in the grid
*/
gridColumns: number;
/**
* number of rows in the grid
*/
gridRows: number;
/**
* which column index to start rendering panel items within (in the first row)
*/
firstColumn?: number;
/**
* True to render rows which have no corresponding panel items to render
*/
renderEmptyRows?: boolean;
/**
* template to render an empty panel item cell
* default template renders an block
*/
emptyCellTemplate?: (row: number, column: number) => PanelFragment;
}
export interface UniformGridPanelComponentProps extends React.HTMLProps, UniformGridPanelProps {
}
export declare class UniformGridPanel extends Panel {
static displayName: string;
static defaultProps: Partial;
static defaultEmptyTemplate(row: number, column: number): PanelFragment;
render(): JSX.Element;
renderItems(children?: React.ReactNode, componentClass?: React.ReactType): JSX.Element[];
protected renderEmptyCell(row: number, column: number, index: number): React.ReactNode;
}