In the shown MWE, I cannot determine why the index is not generated, although the code is very simple, no room for any conflicts, I am using LUALATEX to compile the file
\documentclass[a4paper,12pt,twoside]{book}
\usepackage[nil,bidi=basic-r,layout=counters.lists]{babel}
\babelprovide[import=ar,mapdigits,main]{arabic}
\babelprovide[import=en,language=Default]{english}
\babelfont[arabic]{rm}{Amiri}
\babelfont{rm}{Times New Roman}
\usepackage{imakeidx}
\makeindex
\begin{document}
\chapter{سسسييسسييس}
\section{ مقدمة}
\section{مقدمة عن تاريخ الكتابة المصرية القديمة}
\section{مقدمة عن تاريخ الكتابة المصرية القديمة}
\clearpage
\section{مقدمة عن تاريخ الكتابة المصرية القديمة}
. حيث حُذِفَت علامة الرفع (وس) وايضاً حُذِفَت الحركة الأولى (أي) والتي ظنها العرب استهلال يتبقى اسم قبط
\index{شبيسبسي}
\index{سيبسيبسي}
وهى مأخوذة من "حام" بن نوح
سيبيسبيسبسيب
سيبيسبيسبسيب
بيلبيلبيلبيلبيلبيل
\newpage
\printindex
\end{document}
Scanning input file imf.idx...done (0 entries accepted, 2 rejected).
meaning that makeindex rejected the two arabic entries, which is expected as it does not know utf8.