title: Typescript full-qualify namespace vs import what is the difference
body: <p>Hi I have some problems understanding namespaces in Typescript...
  What is the difference between this:</p>
  
  <pre><code>export class FileBrowser {
      ...
      attached() {
          let elem = $("#file-manager");
          elem.dxFileManager({
              name: "fileManager",
              fileProvider: new DevExpress.fileProvider.RemoteFileProvider({
              })           
          });
      }
  }
  </code></pre>
  
  <p>and this:</p>
  
  <pre><code>import RemoteFileProvider from 'devextreme/ui/file_manager/file_provider/remote';
  
  export class FileBrowser {
      ...
      attached() {
          let elem = $("#file-manager");
          elem.dxFileManager({
              name: "fileManager",
              fileProvider: new RemoteFileProvider({                
              })           
          });
      }
  }
  </code></pre>
  
  <p>So in the first one (that compiles but does not work!) I specify <code>RemoteFileProvider</code> with fully qualified namespace name and without importing it. Where in the second one (that works) I use import and then reference <code>RemoteFileProvider</code> without fully-qualify it.</p>
  
  <p>The firs code does compile without problems, but then at runtime throws:</p>
  
  <blockquote>
    <p>Uncaught (in promise) TypeError: Cannot read property 'RemoteFileProvider' of undefined</p>
  </blockquote>
  
  <p>While the second one works flawlessly.</p>
  
  <p><strong>Update</strong>
  The declarations are:</p>
  
  <pre><code>declare module DevExpress {...}
  declare module DevExpress.fileProvider {
      ...
      export class RemoteFileProvider extends FileProvider {
          ...
      }
  }
  </code></pre>