Question: please help me with the following problem.
I created default node.js app with express using Visual Studio nodejs tools and now I'm trying to call setTimeout function that is declared in node.d.ts. The code is like this:

```
var timer: NodeTimer;
timer = setTimeout(somecallback, 1000);

```

But the code doesn't compile saying `'Cannot convert 'Number' to 'NodeTimer''`

As I understand, the problem is that it takes standard setTimeout function instead of taking the one from node.d.ts.

I tried specifying the reference to node.d.ts with `\\\<reference>` tag - this doesn't help.
How can I state explicitly that I want to use setTimeout from node.d.ts?

Answer: 
The simplest forceful fix : 

```
var timer: NodeTimer;
timer = <any>setTimeout(somecallback, 1000);

```

**Just for Fun**

I created a small sample based on the current node definitions (<https://github.com/borisyankov/DefinitelyTyped/blob/master/node/node.d.ts#L22>) and it works fine in the typescript playground

```
interface NodeTimer{
    ref() : void;
    unref() : void;
}
declare function setTimeout(callback: (...args: any[]) => void, ms: number, ...args: any[]): NodeTimer;

var timer: NodeTimer;
timer = setTimeout(()=>{}, 1000);

```

I do not know why you are getting a conflict when I am not. FYI the conflicting `setTimeout` is defined in `lib.d.ts` but that is included in the TypeScript playground as well and isn't causing any drama.
If you have troubles with `timeout` like `'Cannot convert 'Number' to 'NodeTimer''` or `'Cannot convert 'Number' to 'NodeJS.Timer''`or `'Cannot convert 'Number' to 'NodeJS.Timeout''` or `Type 'Timeout' is not assignable to type 'number'` while trying to use it in `Browser »» Window` and NodeJS, you can use this type-safe solution for Window and NodeJS both:

```js
const timer: ReturnType<typeof setTimeout> = setTimeout(() => null, 1000);
clearTimeout(timer);

```