import type { ChildrenList } from '@furystack/shades';
export interface GridProps<T, Column extends string> {
    entries: T[];
    columns: Column[];
    headerComponents?: HeaderCells<Column>;
    rowComponents?: RowCells<T, Column>;
    styles?: {
        wrapper?: Partial<CSSStyleDeclaration>;
        header?: Partial<CSSStyleDeclaration>;
        cell?: Partial<CSSStyleDeclaration>;
    };
}
export type HeaderCells<Columns extends string> = {
    [TKey in Columns | 'default']?: (name: Columns) => JSX.Element;
};
export type RowCells<T, Columns extends string> = {
    [TKey in Columns | 'default']?: (element: T, column: Columns) => JSX.Element;
};
export declare const Grid: <T, Column extends string>(props: GridProps<T, Column>, children: ChildrenList) => JSX.Element<any>;
//# sourceMappingURL=grid.d.ts.map