export interface Column { hidden: boolean; id: number | string; name: string; propertyKey: string; excludeFromSearch?: boolean; large?: boolean; hideHeader?: boolean; narrow?: boolean; minWidth?: number; displayBigger?: boolean; tooltipText?: string; disableSort?: boolean; render?: (value: unknown, row: unknown) => unknown; } export interface Action { handleAction: Function; } export interface SeparateAction extends Action { fixed?: boolean; actionLabel: string; actionIcon?: Function; displayActionInLine: boolean; atLeastOneSelected?: boolean; multipleSelected?: boolean; render?: (label: string, action: Function) => unknown; } export interface OnHoverAction extends Action { icon: string; iconOnHover?: string; } export interface EllipsisAction extends Action { actionLabel: Function; actionIcon?: Function; isDisabled?: Function; isHidden?: Function; isHighlighted?: Function; disabledTooltipText?: Function; } export interface MarkerConfiguration { isHidden: Function; backgroundColor: string; icon: { src: string; }; } export interface Props { columns: Column[]; // eslint-disable-next-line @typescript-eslint/no-explicit-any data: any[]; countElements: number; setSelectedItems?: (items: unknown[]) => void; defaultCurrentPage: number; handleCurrentPageChange?: Function; defaultOrderBy: string; handleOrderByChange?: Function; defaultOrderType: 'asc' | 'desc'; handleOrderTypeChange?: Function; defaultMaxPerPage: number; handleMaxPerPageChange?: Function; defaultSearchInput: string; handleSearchInputChange?: Function; maxPerPageOptions: number[]; hideAllPerPageOption: boolean; hideSearchbar: boolean; renderEmptyState: () => unknown; isLoading?: boolean; actions?: SeparateAction[]; // eslint-disable-next-line @typescript-eslint/no-explicit-any actionsOnHover?: (item: unknown) => any; exportFunction?: Function; renderFilterButton?: Function; rowActions?: EllipsisAction[]; actionOnClick?: (item: unknown) => unknown; maxActionsInLine?: number; minWidth?: number; placeholderShape: string; placeholderShapePlural: string; padding: string; margin: string | null; triggerDynamicRefresh?: Function; // eslint-disable-next-line @typescript-eslint/no-explicit-any queryParams?: any; onQueryParamsChange?: Function; languageCode: string; forceEnableSelection: boolean; disableSelection: boolean; disableMultipleSelection: boolean; disableFullSelection: boolean; disableResetSelectionOnNavigation: boolean; // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; disableListOptions: boolean; disableFooter: boolean; markerConfiguration?: MarkerConfiguration; allSelectedByDefault: boolean; minActionsInActionsDropdown: number; }