title: TypeScript Joi: Property 'validate' does not exist on type 'Root'
body: <p>I dont understand why im  getting the error <code>Property 'validate' does not exist on type 'Root'.ts(2339)</code> and <code>Parameter 'err' implicitly has an 'any' type.ts(7006)</code>
  I have imported "@hapi/joi": "^17.0.0" and "@types/hapi__joi": "^16.0.6"</p>
  
  <pre><code>import Joi from '@hapi/joi';
  import { NextFunction, Request, Response } from 'express';
  import { WriteError } from 'mongodb';
  import sha1 from 'sha1';
  import { user } from '../models/user';
  
  class Home {
    static index = async (req: Request, res: Response, next: NextFunction) =&gt; {
      try {
          const schema = Joi.object().keys({
            email: Joi.string()
              .lowercase()
              .trim()
              .max(320)
              .email({ minDomainSegments: 2 })
              .required(),
            fullName: Joi.string()
              .trim()
              .max(70)
              .required(),
            password: Joi.string()
              .trim()
              .min(8)
              .max(70)
              .required(),
          });
          const { email, password, fullName } = req.body;
          Joi.validate({ email, password, fullName }, schema, (err, val) =&gt; {
  //             ^ Error                                 Error ^     ^ Error   
            if (err) {
              throw new Error('Failed to validate input ' + err.details[0].message);
            }
            req.body = val;
            next();
          });
        } catch (error) {
          res.status(400).send({
            code: sha1('validateJoin' + error.message || 'Internal Server Error'),
            error: error.message || 'Internal Server Error',
          });
        }
    };
  }
  
  export { Home };
  </code></pre>