/**
* @usevyre/react — Table
*
* AI CONTEXT:
* ┌─────────────────────────────────────────────────────────┐
* │ Components: Table + TableHead + TableBody + TableRow + │
* │ TableHeader + TableCell + TableCaption │
* │ Import: import { Table, TableHead, TableBody, │
* │ TableRow, TableHeader, TableCell, │
* │ TableCaption } from "@usevyre/react" │
* │ │
* │ Table props: │
* │ striped = boolean (default: false) │
* │ bordered = boolean (default: false) │
* │ compact = boolean (default: false) │
* │ hoverable = boolean (default: true) │
* │ │
* │ TableHeader props (th): │
* │ sortable = boolean │
* │ sortDir = "asc"|"desc"|null │
* │ onSort = () => void │
* │ align = "left"(default)|"center"|"right" │
* │ │
* │ TableCell props (td): │
* │ align = "left"(default)|"center"|"right" │
* └─────────────────────────────────────────────────────────┘
*
* @example
*
*
*
* handleSort("name")}>Name
* Email
* Status
*
*
*
* {rows.map((row) => (
*
* {row.name}
* {row.email}
* {row.status}
*
* ))}
*
*
*/
import React from "react";
export interface TableProps {
children: React.ReactNode;
striped?: boolean;
bordered?: boolean;
compact?: boolean;
hoverable?: boolean;
className?: string;
}
export declare const Table: React.FC;
export declare const TableHead: React.ForwardRefExoticComponent & React.RefAttributes>;
export declare const TableBody: React.ForwardRefExoticComponent & React.RefAttributes>;
export interface TableRowProps extends React.HTMLAttributes {
selected?: boolean;
}
export declare const TableRow: React.ForwardRefExoticComponent>;
export interface TableHeaderProps extends React.ThHTMLAttributes {
sortable?: boolean;
sortDir?: "asc" | "desc" | null;
onSort?: () => void;
align?: "left" | "center" | "right";
}
export declare const TableHeader: React.ForwardRefExoticComponent>;
export interface TableCellProps extends React.TdHTMLAttributes {
align?: "left" | "center" | "right";
}
export declare const TableCell: React.ForwardRefExoticComponent>;
export declare const TableCaption: React.ForwardRefExoticComponent & React.RefAttributes>;