export interface Props { headers: Array; data: Array; isLoading: boolean; defaultOrderBy: number; defaultOrderType: 'asc' | 'desc'; minWidth: number; height?: number; customModalIcon?: string; highlightedRowsId: Array; // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; } export interface PropsHeader { headers: Array; orderBy: number; orderType: 'asc' | 'desc'; setOrderColumn: (columnPropertyKey) => void; // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; } export interface HeaderInterface { id: number; name: string; propertyKey: string; isNumber?: boolean; unit?: string; tooltipDisplay?: string; isSortable: boolean; categorySortBy?: string; large?: boolean; bold?: boolean; narrow?: boolean; minWidth?: number; textTransform?: string; textDecorationChild?: string; hrefPrefix?: string; hrefSuffix?: string; render?: (value, item) => void; customModalRender?: boolean; customModalTooltip?: string; graphConfiguration?: GraphConfiguration; type: string; } export interface LoadingProps { headers: Array; } export interface ItemGlobal { isHighlighted: boolean; parentItem: ItemTotal; childItems: Array; } export interface ModalIconProps { icon?: string; openModal: () => void; openedModal: boolean; modalContent: () => void; customModalTooltip?: string; displayTooltip: boolean; // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; } export interface ModalContentProps { // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; modalContent: () => void; openModal: (() => void) | ((index?: number, childIndex?: number) => void); } interface ItemTotal { // eslint-disable-next-line @typescript-eslint/no-explicit-any items: any; chart: Array; } interface ChartItem { x: string; y: number; } interface GraphConfiguration { title: string; subTitle: string; } export interface PropsItemRow { headers: Array; items: ItemGlobal; parentIndex: number; openRow: () => void; openGraph?: () => void; openChildGraph: ( parentIndex: number, childIndex: number, type: string ) => void; customModalIcon?: string; openParentModal: () => void; openChildModal: ( parentIndex: number, childIndex: number, type: string ) => void; // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; } export interface PropsItemDisplay { value: string | number | void; id?: string | number | undefined; textTransform?: string; textDecorationChild?: string; hrefPrefix?: string; hrefSuffix?: string; nbColumn: number; isFirst?: boolean; large?: boolean; bold?: boolean; blue?: boolean; narrow?: boolean; minWidth?: number; withRender?: boolean; isLoading?: boolean; customModalIcon?: string; } export interface ItemDisplayWithCustomModalProps { value: string | number | void; id?: string | number | undefined; textTransform?: string; textDecorationChild?: string; hrefPrefix?: string; hrefSuffix?: string; nbColumn: number; large?: boolean; bold?: boolean; withRender?: boolean; isLoading?: boolean; modalContent: () => void; customModalIcon?: string; } export interface PropsActionButton { open?: boolean; visibility?: boolean; } export interface PropsChildItemRow { headers: Array; // eslint-disable-next-line @typescript-eslint/no-explicit-any childItems: any; childChart: Array; openChildGraph: (parentIndex?: number, childIndex?: number) => void; customModalIcon?: string; openChildModal: (parentIndex?: number, childIndex?: number) => void; isFirst: boolean; isLast: boolean; // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; } export interface UseInteractDataRowAndGraphProps { headers: Array; orderType: 'asc' | 'desc'; data: Array; orderBy: number; } export interface ReturnFromInteractDataRowAndGraph { dataState: Array; openRow: (index) => void; openParentModal: (index: number, selected: string) => void; openChildModal: ( parentIndex: number, childIndex: number, selected: string ) => void; } export interface Indexes { parentIndex: number; childIndex?: number; } export interface PropsGraphButton { openGraph?: (() => void) | ((index?: number, childIndex?: number) => void); open?: boolean; graphConfiguration: GraphConfiguration; graphs?: Array; // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; } export interface PropGraphContent { graphConfiguration: GraphConfiguration; graphs?: Array; openGraph: (() => void) | ((index?: number, childIndex?: number) => void); // eslint-disable-next-line @typescript-eslint/no-explicit-any theme: any; }