export interface Column { id: number | string; name: string; type: string; decimals: number; filterType: string; tooltipText: string; propertyKey: string; render: (value: unknown, row: unknown) => unknown; } export interface Props { data: unknown[]; minWidth: number; columns: Column[]; isLoading: boolean; maxPerPage: number; positionTop: number; positionBottom: number; defaultOrderBy: string; defaultOrderType: 'asc' | 'desc'; highligthedRowsId: string[]; displayColumnsFilters: boolean; languageCode: string; labelEmptyState: string; // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; } export interface ActiveFilter { filterId: number | string; propertyKey: string; doFilter: (data: unknown[], propertyKey: string, value: number) => unknown[]; value: number; } export interface PageLimitOption { id: number | string; value: number; text: string; callback: ( setPageLimit: (n: number) => void, nbTotalElements?: number ) => void; }