title: Typescript warning "Use an interface instead of a type literal"
body: <p>Linting my code, I get this TS warning on <code>InternalStateType</code> definition</p>
  
  <pre><code> [line 8]    export type InternalStateType = {
                [key: string]: any,
                appName: string,
                darkMode: boolean,
                defaultLang: string,
                topnavTitle: string,
                messagePanelOpen: boolean,
                sidenavOpen: boolean,
                sidenavMode: string,
                sidenavCollapse: boolean,
                pageFullscreen: boolean,
                pageFooter: boolean,
                initial: boolean,
              };
  </code></pre>
  
  <p><code>InternalStateType</code> is used in my App service</p>
  
  <pre><code>/**
   * App service
   */
  @Injectable()
  export class AppService {
  
    // Set your states default value.
    private state: InternalStateType = {
      appName: 'MyApp',
      darkMode: false,
      defaultLang: 'en',
      topnavTitle: 'MyApp',
      messagePanelOpen: false,
      sidenavOpen: false,
      sidenavMode: 'over',
      sidenavCollapse: true,
      pageFullscreen: false,
      pageFooter: false,
      initial: false,
    };
  </code></pre>
  
  <p>Does it mean that it should be better to replace:</p>
  
  <pre><code>export type InternalStateType = {
  </code></pre>
  
  <p>with:</p>
  
  <pre><code>export interface InternalStateType {
  </code></pre>