import { SugaredQualifiedEntityList } from '@contember/binding';
import { ComponentType, ReactElement, ReactNode } from 'react';
import { DataGridContainerProps, DataGridContainerPublicProps } from '../base';
export type DataGridProps<ComponentExtraProps extends {}> = DataGridContainerPublicProps & {
    dataGridKey?: string;
    entities: SugaredQualifiedEntityList['entities'];
    children: ReactNode;
    itemsPerPage?: number | null;
} & ({} | {
    component: ComponentType<DataGridContainerProps & ComponentExtraProps>;
    componentProps: ComponentExtraProps;
});
/**
 * Main DataGrid component. Requires cells as a children.
 *
 * @example
 * ```
 * <DataGrid
 *   entities="Article"
 *   itemsPerPage={50}
 * >
 *   <TextCell header="Title" field="title" />
 *   <TextCell header="Author" field="author.name" />
 * </DataGrid>
 * ```
 *
 * @group Data grid
 */
export declare const DataGrid: <ComponentProps extends {}>(props: DataGridProps<ComponentProps>) => ReactElement;
//# sourceMappingURL=DataGrid.d.ts.map