import * as React from 'react';
import type { ListViewProps } from './listView';
import './gridView.css';
export type Sorting<T> = {
    by: keyof T;
    negate: boolean;
};
export type RenderedGridCell = {
    body: React.ReactNode;
    title?: string;
};
export type GridViewProps<T> = Omit<ListViewProps<T>, 'render'> & {
    columns: (keyof T)[];
    columnTitle: (column: keyof T) => string;
    columnWidths: Map<keyof T, number>;
    setColumnWidths: (widths: Map<keyof T, number>) => void;
    render: (item: T, column: keyof T, index: number) => RenderedGridCell;
    sorting?: Sorting<T>;
    setSorting?: (sorting: Sorting<T> | undefined) => void;
};
export declare function GridView<T>(model: GridViewProps<T>): any;
//# sourceMappingURL=gridView.d.ts.map