import React, { ReactNode } from 'react';
import type { ObjectLike, ColumnDef, Sort } from './types';
export declare const TextEllipsis: ({ children }: {
    children: ReactNode;
}) => React.JSX.Element;
export declare const CellTextEllipsis: ({ children }: {
    children: ReactNode;
}) => React.JSX.Element;
export declare const HeadCell: <T extends ObjectLike, GetId>(props: ColumnDef<T, GetId> & {
    tableId: string;
    stickyHeader?: boolean | undefined;
    editMode?: boolean | undefined;
    sort?: Sort | undefined;
    onSortChange?: ((props: {
        field: keyof T;
        multiple: boolean;
        currentSort?: Sort | undefined;
    }) => void) | undefined;
    sortOrder: Sort[];
}) => React.JSX.Element;
export declare const BodyCell: <T extends Record<string, any>, ID>(props: {
    tableId: string;
    row: T;
    rowId: ID;
    editMode?: boolean | undefined;
    noWrap?: boolean | undefined;
} & ColumnDef<T, any>) => React.JSX.Element;
export declare const BodyRow: <T extends Record<string, any>, ID>(props: {
    tableId: string;
    row: T;
    rowId: ID;
    editMode?: boolean;
    noWrap?: boolean;
    columns: ColumnDef<T, any>[];
}) => JSX.Element;
export declare const VirtualizedTableRow: React.NamedExoticComponent<import("@mui/system").MUIStyledCommonProps<import("@mui/joy").Theme> & {
    striped?: boolean | undefined;
} & React.ClassAttributes<HTMLTableRowElement> & React.HTMLAttributes<HTMLTableRowElement>>;
