import { type MyTableProps } from "./MyTable";
import { type FilterInterface } from "../filters";
export interface PaginationInterface<TData> {
    docs: TData[];
    total: number;
    offset: number;
    limit: number;
    totalPages: number;
    page: number;
    pagingCounter: number;
    hasPrevPage: boolean;
    hasNextPage: boolean;
    prevPage: number;
    nextPage: number;
}
export interface DataTableProps<TData> extends Omit<MyTableProps<TData>, "rows"> {
    dataSource?: PaginationInterface<TData>;
    onParamChange?: (param: Record<string, unknown>) => void;
    hasPagination?: boolean;
    hasSearch?: boolean;
    filters?: FilterInterface[];
    handleFilterChange?: (filters: Record<string, unknown>) => void;
    tableKey: string;
    hasColumnsVisibilityDropdown?: boolean;
}
export declare const DataTable: <TData>({ dataSource, columns, onRowClick, rowKey, hasNumbers, hasSearch, hasCheckbox, hasPagination, onParamChange, tableKey, filters, handleFilterChange, params, hasColumnsVisibilityDropdown, }: DataTableProps<TData>) => import("react/jsx-runtime").JSX.Element;
//# sourceMappingURL=DataTable.d.ts.map