import { DataColumn, DataNode, DataRow } from '../../types/data-structures';
import { onContextMenuType } from '../../types/global';
export interface RowProps {
    /**
     * the DataRow ( or DataNode )
     */
    row: DataNode | DataRow;
    /**
     * The columns of the datatable
     */
    columns?: DataColumn[];
    /**
     * the level of nesting inside row
     */
    level?: number;
    /**
     * A record of columns string:number where each columns has relative dimension
     */
    columnWidths?: Record<string, number>;
    /**
     * The height of the row. Specifically usefull for virtualization.
     */
    rowHeight?: number;
    /**
     * The value of the offsetTop. Specifically usefull for virtualization.
     */
    offsetTop?: number;
    /**
     * Whether the row is a groupRow or not.
     */
    isGroup?: boolean;
    /**
     * Value of the row, used for grouping
     */
    value?: string;
    /**
     * Whether to display the multiselect checkbox or not
     */
    enableSelection?: boolean;
    /**
     * Whether the row is selected or not
     */
    isSelected?: boolean;
    /**
     * Decimal separator from AS400
     */
    decimalSeparator?: string;
    /**
     * Callback function invoked when the row selection is toggled.
     */
    onToggleSelect?: () => void;
    /**
     * Callback function invoked when clicking on a cell - onCellClick
     */
    onRowClick?: (row: DataRow, column: string) => void;
    /**
     * Callback function invoked when clicking on a cell - onCellClick
     */
    onNodeClick?: (e: React.MouseEvent | React.KeyboardEvent, node: DataNode) => void;
    /**
     * onContextMenu function on appbar components
     */
    onContextMenu?: onContextMenuType;
}
export declare function isDataNode(row: DataNode | DataRow | undefined): row is DataNode;
export declare function isDataRow(row: DataNode | DataRow): row is DataRow;
//# sourceMappingURL=row-types.d.ts.map