title: How to extend VueConfiguration? I.e. how to extend existing interface?
body: <p>Seems like an easy task but I get confused.</p>
  
  <p>Let's say I want to add <code>server</code> object to <code>Vue.config</code>.
  Here is typescript definition for Vue - <a href="https://github.com/vuejs/vue/blob/dev/types/vue.d.ts#L121" rel="nofollow noreferrer">https://github.com/vuejs/vue/blob/dev/types/vue.d.ts#L121</a>. So we need to extend VueConfiguration interface - <a href="https://github.com/vuejs/vue/blob/dev/types/vue.d.ts#L67" rel="nofollow noreferrer">https://github.com/vuejs/vue/blob/dev/types/vue.d.ts#L67</a></p>
  
  <p>I tried to create index.d.ts file:</p>
  
  <pre><code>/// &lt;reference path="../node_modules/vue/types/vue.d.ts" /&gt;
  
  export interface VueConfiguration {
      server: {
          user: string;
      }
  }
  </code></pre>
  
  <p>in <code>src/</code> directory, that does not help. </p>
  
  <p>Tried to add this code into main.ts file:</p>
  
  <pre><code>declare interface VueConfiguration {
    server: {
        blockchain: string;
    };
  };
  </code></pre>
  
  <p>When I do:</p>
  
  <pre><code>Vue.config.server.user = 'http://127.0.0.1:8082'
  </code></pre>
  
  <p>I got error Property 'server' does not exist on type 'VueConfiguration'</p>
  
  <p>So what did I do wrong?</p>