import { DataTableRoot, DataTableTable, DataTableHeader, DataTableBody, DataTableFooter, DataTableManager } from './components'; import { DataTableProps } from './data-table.types'; export declare const DataTable: (>({ ref: forwardedRef, footer, ...props }: DataTableProps & { footer?: React.ReactNode; ref?: React.Ref; }) => import("react/jsx-runtime").JSX.Element) & { /** * # DataTable.Root * * The root container that provides context and state management for the entire data table. * Handles data processing, sorting, filtering, selection, and expansion state. * * @example * ```tsx * * * * * * * ``` */ Root: { >(props: DataTableProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # DataTable.Table * * The main table element that wraps the header and body components. * Provides the semantic HTML table structure with React Aria table behavior. * * @example * ```tsx * * * * * * * ``` */ Table: { ({ ref: forwardedRef, children, "aria-label": ariaLabelProp, ...props }: import('./data-table.types').DataTableTableSlotProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # DataTable.Header * * The table header section that renders column headers with sorting capabilities. * Automatically generates columns based on the configuration provided to Root. * * @example * ```tsx * * * * * * * ``` */ Header: { ({ ref, "aria-label": ariaLabelProp, ...props }: import('./data-table.types').DataTableHeaderProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # DataTable.Body * * The table body section that renders all data rows with selection and expansion capabilities. * Handles empty states and provides accessibility features for row navigation. * * @example * ```tsx * * * * * * * ``` */ Body: { ({ ref, "aria-label": ariaLabelProp, ...props }: import('./data-table.types').DataTableBodyProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # DataTable.Footer * * Optional footer section for displaying summary information, pagination, or actions. * Positioned below the table with proper styling integration. * * @example * ```tsx * * * * * * * * * * ``` */ Footer: { ({ ref: forwardedRef, children, ...props }: import('./components/data-table.footer').DataTableFooterProps): import("react/jsx-runtime").JSX.Element; displayName: string; }; /** * # DataTable.Manager * * A settings panel that allows users to manage table columns visibility and layout. * Opens in a drawer with tabs for "Visible columns" and "Layout settings". * Uses drag-and-drop to reorder columns. * * @example * ```tsx * * * * * * * * ``` */ Manager: { (): import("react/jsx-runtime").JSX.Element | null; displayName: string; }; /** * # DataTable.Context * * React context that provides shared state and configuration to all table components. * Used internally for component coordination - not typically used directly. * * @example * ```tsx * const context = useContext(DataTable.Context); * ``` */ Context: import('react').Context> | null>; /** * # DataTable.useDataTableContext * * Hook that provides access to the DataTable context with proper error handling. * Throws an error if used outside of a DataTable.Root provider. * * @example * ```tsx * const { columns, rows, sortDescriptor } = DataTable.useDataTableContext(); * ``` */ useDataTableContext: >() => import('./data-table.types').DataTableContextValue; }; /** * todo: get rid of this, this is needed for the react-docgen-typescript script * that is parsing the typescript types for our documentation. The _ underscores * serve as a reminder that this exports are awkward and should not be used. */ export { DataTableRoot as _DataTableRoot, DataTableTable as _DataTableTable, DataTableHeader as _DataTableHeader, DataTableBody as _DataTableBody, DataTableFooter as _DataTableFooter, DataTableManager as _DataTableManager, };