import React, { CSSProperties } from 'react';
import { Identifiable } from '@custis/common';
import { ColumnInstance, Row } from 'react-table';
import { GridStore } from '../../GridStore';
export interface IGridRowData<T extends Identifiable, TFilter, TSorting, TResultAdditionalInfo> {
    store: GridStore<T, TFilter, TSorting, TResultAdditionalInfo>;
    rows: Row<T>[];
    allColumns: ColumnInstance<T>[];
    cellStyle?: CSSProperties;
    hasSelection: boolean;
    prepareRow(row: Row<T>): void;
    onClickRow(id: string): void;
    onRowDoubleClick(data: T, gridRowId: string): void;
    handleEditRow(row: T): Promise<void>;
    handleCreateSubRow(row: T): Promise<void>;
    handleEditSubRow(row: T): Promise<void>;
    getRowStyle(originalRow: T): CSSProperties | undefined;
}
interface Props<T extends Identifiable, TFilter, TSorting, TResultAdditionalInfo> {
    index: number;
    style?: CSSProperties;
    data: IGridRowData<T, TFilter, TSorting, TResultAdditionalInfo>;
}
export declare const GridRowRenderer: <T extends Identifiable, TFilter, TSorting, TResultAdditionalInfo>({ index, style, data, }: Props<T, TFilter, TSorting, TResultAdditionalInfo>) => React.JSX.Element;
export {};
