Мне больно работать с JavaScript, особенно после бэкенд-языков, основной парадигмой которых является ООП. А особенно, если в них есть типизация. Выучить я готов, но использовать как основной инструмент - нет.
const prefixLength = prefix.length;
const filters = arr2.reduce((acc, item) => {
if(item.startsWith(prefix)) {
acc[item.slice(prefixLength)] = true;
}
return acc;
}, {});
const result = arr1.filter((item) => !filters[item]);
И да, перед типами в namespace можно не писать export, и без него абсолютно все типы доступны извне