¿Cómo lidiar adecuadamente con promisifyAll en mecanografiado?

Considere el siguiente código:

import redis = require('redis');  //Has ambient declaration from DT
import bluebird = require('bluebird');  //Has ambient declaration from DT

bluebird.promisifyAll((<any>redis).RedisClient.prototype);
bluebird.promisifyAll((<any>redis).Multi.prototype);

const client = redis.createClient();

client.getAsync('foo').then(function(res) {
    console.log(res);
});

getAsync producirá un error porque se crea sobre la marcha y no está definido en ninguna.d.ts archivo. Entonces, ¿cuál es la forma correcta de manejar esto?

Además, aunque tengo el.d.ts archivos cargados para redis, todavía necesito emitirredis aany para ser utilizado parapromisifyAll. De lo contrario, se derramará el error:

Property 'RedisClient' does not exist on type 'typeof "redis"'

Lo está escribiendo aany la única manera fácil de ir?

Respuestas a la pregunta(1)

Su respuesta a la pregunta