/// <reference types="react" />
import { StyleTags } from '../../@declares';
export declare namespace TableTypes {
    type customTableHTMLAttributes<T> = Omit<React.TableHTMLAttributes<T>, 'border'>;
    type Types = 'normal' | 'data' | 'drag' | 'spread';
    type Tones = 'border' | 'cellBorder' | 'rowBorder' | 'plain' | 'auto';
    type StylesCallbackInput = {
        top: boolean;
        bottom: boolean;
        left: boolean;
        right: boolean;
        rowIndex: number;
        colIndex: number;
        isHeader: boolean;
        isBody: boolean;
    };
    type UniInput = {
        tableID?: string;
        tone?: Tones;
        colLength: number;
        cellStyles?: StyleTags.PropsNFreeCSS;
        cellClassName?: string;
        cellStylesCallback?: {
            (p: StylesCallbackInput): StyleTags.PropsNFreeCSS;
        };
        className?: string;
    } & StyleTags.States;
    type OnRowClick = {
        (rowIDOrIndex: any, event: React.MouseEvent<HTMLTableRowElement, MouseEvent>): void;
    };
}
import _TableParts from './Parts';
import _Normal from './Normal';
import _Drag from './Drag';
import _Data from './Data';
declare namespace Table {
    export import Normal = _Normal;
    export import Data = _Data;
    export import Drag = _Drag;
    export import Parts = _TableParts;
}
export { Table, Table as default };
