title: Class 'AuthGaurd' incorrectly implements interface CanActivate
body: <p>I am beginner and learning Angular From tutorials as i follow those tutorials and when i implement interface <strong><code>CanAcivate</code></strong> as he did in tutorial its show error</p>
  
  <p><strong>Class 'AuthGaurd' incorrectly implements interface 'CanActivate'.
    Property 'canActivate' is missing in type 'AuthGaurd' but required in type 'CanActivate'.ts(2420)</strong></p>
  
  <p>Here is implementation of Canactivate </p>
  
  <pre><code>export class AuthGaurd implements CanActivate
  {
    constructor(private auth: AuthService, private router: Router) { }
    CanActivate(){
      return this.auth.user$.map(user =&gt; {
        if (user) return true;
        this.router.navigate(['/login']);
        return false;
      });
    }
  }`
  </code></pre>
  
  <p>And here is Imports </p>
  
  <pre><code> import { Injectable } from '@angular/core';
      import { AuthService } from './auth.service';
      import { CanActivate } from '@angular/router/src/utils/preactivation';
      import { Router } from '@angular/router';
      import 'rxjs/add/operator/map';
  </code></pre>
  
  <p>I change Import from <code>import { CanActivate } from '@angular/router/src/utils/preactivation';</code> to <code>import { CanActivate } from '@angular/router; But not work</code> </p>
  
  <p>Also I add following in canActivate as i watch one answer on StackOverflow but it also not work for me</p>
  
  <pre><code> CanActivate(next: ActivatedRouteSnapshot,
   state: ActivatedRouteSnapshot): Observable&lt;boolean&gt;
  </code></pre>