import React, { type ReactElement } from "react"; import { type RowData, type Table } from "@tanstack/react-table"; import { type TableProps, type SelectProps, type MultiSelectProps, type MantineStyleProp, type ComboboxData, type AutocompleteProps } from "@mantine/core"; import "./style.css"; declare module "@tanstack/table-core" { interface ColumnMeta { cellStyle?: React.CSSProperties; headerStyle?: React.CSSProperties; filter?: { type: "expiration"; placeholder?: string; } | { type: "text" | "number"; placeholder?: string; } | { type: "autocomplete"; options?: ComboboxData; placeholder?: string; autocompleteProps?: Partial>; } | { type: "select"; options?: ComboboxData; placeholder?: string; selectProps?: Partial>; } | { type: "multi-select"; options?: ComboboxData; placeholder?: string; selectProps?: Partial>; }; } } type Props> = TableProps & { table: T; renderSubComponent?: (props: { row: ReturnType; }) => ReactElement; onRowClick?: (row: ReturnType) => void; paginate?: boolean; sortable?: boolean; loading?: boolean; columnFilters?: boolean; perPageOptions?: number[]; rowStyles?: (row: ReturnType) => MantineStyleProp; stickyTop?: number | null; stickyFoot?: number | null; stickyBorderRadius?: string | null; showSummary?: boolean; header?: React.ReactNode; scrollHeight?: string | number; rowCount?: number; groupIndividualRows?: boolean; }; export default function TanstackTable>({ table, onRowClick, paginate, loading, sortable, columnFilters, stickyTop, stickyFoot, stickyBorderRadius, rowStyles, showSummary, scrollHeight, header, rowCount, renderSubComponent, groupIndividualRows, perPageOptions, ...rest }: Props): import("react/jsx-runtime").JSX.Element; export {};