TypeScript exige com verificação de tipo

Estou usando o TypeScript v1.4.1 e gostaria de exigir um módulo externo (neste caso, "chai") e que o seu tipo seja verificado.

No entanto, estou enfrentando algum tipo de conflito de nomes com este código:

/// <reference path="../typings/node/node.d.ts" />
/// <reference path="../typings/chai/chai.d.ts" />
/// <reference path="../typings/mocha/mocha.d.ts" />

var chai = require("chai");

var expect = chai.expect;
var assert = chai.assert;

describe("TEST", () =>
{
   it("true should be true", (done)=>
   {
      expect(true).to.be.true;
      done();
   });
});

Com este arquivo de definição:

declare module chai {
   ...
}
declare module "chai" {
   export = chai;
}

A compilação fornece esses erros:

test/test.ts(5,5): error TS2300: Duplicate identifier 'chai'.
typings/chai/chai.d.ts(6,16): error TS2300: Duplicate identifier 'chai'.

Parece que minha única opção é renomear meuchai nome da variável em test.ts. Isso parece desajeitado E não digita cheque o uso do renomeadochai variável.

Algum conselho?

questionAnswers(1)

yourAnswerToTheQuestion