import "hap-nodejs"

export interface Homebridge {
  hap: HAPNodeJS.HAPNodeJS
  log: Logger
  registerAccessory(
    pluginName: string,
    accessoryName: string,
    constructor: AccessoryConstructor
  ): void
}

export interface Logger {
  debug: (...message: string[]) => void
  info: (...message: string[]) => void
  warn: (...message: string[]) => void
  error: (...message: string[]) => void
}

export interface Accessory {
  getServices(): HAPNodeJS.Service[]
}

export type AccessoryConstructor = new (log: Logger, config: any) => Accessory

export default Homebridge

import "hap-nodejs"

export interface Homebridge {
  hap: HAPNodeJS.HAPNodeJS
  log: Logger
  registerAccessory(
    pluginName: string,
    accessoryName: string,
    constructor: AccessoryConstructor
  ): void
}

export interface Logger {
  debug: (...message: string[]) => void
  info: (...message: string[]) => void
  warn: (...message: string[]) => void
  error: (...message: string[]) => void
}

export interface Accessory {
  getServices(): HAPNodeJS.Service[]
}

export interface AccessoryConstructor {
  new (log: Logger, config: any): Accessory
}

export default Homebridge

--- 
+++ 
@@ -21,8 +21,6 @@
   getServices(): HAPNodeJS.Service[]
 }
 
-export interface AccessoryConstructor {
-  new (log: Logger, config: any): Accessory
-}
+export type AccessoryConstructor = new (log: Logger, config: any) => Accessory
 
 export default Homebridge
Update style to conform with new TSLint rule
