import React, { ReactNode, FunctionComponent } from 'react';
import './table.less';
type HeaderProp = (() => string) | ((data?: Array<any>, rowProps?: object) => boolean) | string | ReactNode;
export type ColumnProp = {
    header?: HeaderProp | null;
    headerClassName?: string | null;
    cellClassName?: string | null;
    className?: ((item: string) => string | null) | null | string;
    cell?: FunctionComponent<{
        row: string;
        value: any;
        index: number;
        accessor: any;
    }> | null;
    id?: string | null;
    accessor: string;
    testId?: string;
    tdTestId?: string | null;
    disabled?: boolean;
};
type ClassNameProp = {
    className?: string;
};
type ComponentProps = {
    children: any;
    className?: string;
    testId?: string;
    column?: ColumnProp;
    id?: string;
};
export type TableProps = {
    columns: (ColumnProp | null | undefined)[];
    data: Array<any>;
    className?: string;
    THeadComponent?: React.FC<ComponentProps>;
    TBodyComponent?: React.FC<ComponentProps>;
    HeadTrComponent?: React.FC<ComponentProps>;
    TrComponent?: React.FC<ComponentProps>;
    ThComponent?: React.FC<ComponentProps>;
    TdComponent?: React.FC<ComponentProps>;
    tHeadProps?: ClassNameProp;
    tBodyProps?: ClassNameProp;
    trProps?: ClassNameProp;
    thProps?: ClassNameProp;
    tdProps?: ClassNameProp;
    rowProps?: object;
    testId?: string;
    rowIdName?: string;
    sublevel?: boolean;
    listLayout?: boolean;
    loading?: boolean;
    loadingText?: string;
};
type CompProps = {
    children?: ReactNode;
    className?: string;
    testId?: string;
};
export declare const THead: React.FC<CompProps>;
export declare const TBody: React.FC<CompProps>;
export declare const Tr: React.FC<CompProps>;
export declare const Th: React.FC<CompProps>;
export declare const Td: React.FC<CompProps>;
/** Advanced table component that supports custom layout
 * [CAPITALIZATION] Header must be in uppercase
 * @uxr-deprecated The component is deprecated for UXR, use TableReact instead
 */
declare const Table: React.ForwardRefExoticComponent<TableProps & React.RefAttributes<HTMLInputElement>>;
export default Table;
