import * as React from 'react';

interface TableProps {
    caption?: string;
    children: React.ReactNode;
}
interface ThProps extends React.ThHTMLAttributes<HTMLTableCellElement> {
    scope?: 'col' | 'row';
    sort?: 'asc' | 'desc' | 'none';
    onSort?: () => void;
}
declare function TableRoot({ caption, children }: TableProps): React.JSX.Element;
declare function TableHead({ children, className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>): React.JSX.Element;
declare function TableBody({ children, className, ...props }: React.HTMLAttributes<HTMLTableSectionElement>): React.JSX.Element;
declare function TableRow({ children, className, ...props }: React.HTMLAttributes<HTMLTableRowElement>): React.JSX.Element;
declare function TableTh({ scope, sort, onSort, children, className, ...props }: ThProps): React.JSX.Element;
declare function TableTd({ children, className, ...props }: React.TdHTMLAttributes<HTMLTableCellElement>): React.JSX.Element;
declare const Table: typeof TableRoot & {
    Head: typeof TableHead;
    Body: typeof TableBody;
    Row: typeof TableRow;
    Th: typeof TableTh;
    Td: typeof TableTd;
};

export { Table, type TableProps, type ThProps };
