import { ComponentProps, HTMLAttributes, ReactNode } from 'react';
import { Pagination, Table } from '../../02-molecules';
type DataTableProps = {
    table: Pick<ComponentProps<typeof Table>, 'id' | 'headers' | 'data' | 'action' | 'actions' | 'loading' | 'selectable' | 'multiple' | 'currentSelection' | 'setCurrentSelection'>;
    pagination: Pick<ComponentProps<typeof Pagination>, 'currentPage' | 'pageChange' | 'itemsPerPage' | 'totalItems'>;
} & HTMLAttributes<HTMLDivElement>;
/**
 * DataTable component for rendering a table with pagination.
 *
 * @component
 * @example
 * // Example usage of DataTable component
 * <DataTable
 *   table={{
 *     id: 'example-table',
 *     headers: ['Header1', 'Header2'],
 *     data: [{ col1: 'Data1', col2: 'Data2' }],
 *     action: () => console.log('Action'),
 *     actions: [{ name: 'Edit', callback: () => console.log('Edit') }],
 *     loading: false,
 *   }}
 *   pagination={{
 *     currentPage: 1,
 *     pageChange: (page, itemsPerPage) => console.log(page, itemsPerPage),
 *     itemsPerPage: 10,
 *     totalItems: 100,
 *   }}
 * />
 *
 * @param {Object} props - The properties of the DataTable component.
 * @param {Object} props.table - The table configuration.
 * @param {string} props.table.id - The ID of the table.
 * @param {Array<string>} props.table.headers - The headers of the table.
 * @param {Array<Object>} props.table.data - The data to be displayed in the table.
 * @param {Function} props.table.action - The action to be performed on table data.
 * @param {Array<Object>} props.table.actions - The actions available for table rows.
 * @param {boolean} props.table.loading - The loading state of the table.
 * @param {Object} props.pagination - The pagination configuration.
 * @param {number} props.pagination.currentPage - The current page number.
 * @param {Function} props.pagination.pageChange - The function to handle page changes.
 * @param {number} props.pagination.itemsPerPage - The number of items per page.
 * @param {number} props.pagination.totalItems - The total number of items.
 * @param {Object} [props.restProps] - Additional properties to be passed to the component.
 *
 * @returns {ReactNode} The rendered DataTable component.
 */
export declare function DataTable({ table, pagination, ...restProps }: DataTableProps): ReactNode;
export {};
//# sourceMappingURL=DataTable.d.ts.map