Сама функция имеет следующую подпись (взято из DefinuallyTyped ):
export type ErrorRequestHandler = (err: any, req: Request, res: Response, next: NextFunction) => any;
Таким образом, вы можете объявить функцию как переменную типа ErrorRequestHandler
или ввести параметры в соответствии с этим определением.
Примечание. Типы "express-serve-static-core" импортируются типами "express", где я искал приведенное выше определение.
Относительно вашего второго вопроса, относящегося к неявной any
, именно «неявная» часть вызывает проблему. Если вы введете явно как any
, тогда не будет никакой ошибки (но не будет любые печатания либо).
Вы также можете отключить noImplicitAny
в конфигурации вашего компилятора, но я бы не рекомендовал это лично, поскольку это защищает вас от нескольких классов ошибок.