title: Property 'value' does not exist on type 'HTMLElement'
body: <p>Inside a <code>directive</code> in <code>Angular</code> I did the following:<br></p>
  
  <pre><code>let input: HTMLElement = renderer.createElement('input');
  renderer.appendChild(this.elem.nativeElement, input);
  </code></pre>
  
  <p>and when I try to get the value writen inside this input using:<br></p>
  
  <pre><code>console.log('value', input.value);
  </code></pre>
  
  <p>I get this error:</p>
  
  <pre><code>Property 'value' does not exist on type 'HTMLElement'.
  </code></pre>
  
  <p>Although we all now that to get value from input using javascript we do the following:<br></p>
  
  <pre><code>document.getElementById("searchTxt").value;
  </code></pre>
  
  <p>and <code>document.getElementById()</code> return either null or <code>HTMLElement</code> object:<br></p>
  
  <blockquote>
    <p>/**
         * Returns a reference to the first object with the specified value of the ID or NAME attribute.
         * @param elementId String that specifies the ID value. Case-insensitive.
         */
        getElementById(elementId: string): HTMLElement | null;</p>
  </blockquote>
  
  <p>so why I get this error ?!!</p>