facebook/esprima — pull request #73 by gabelevi (2014-11-18 05:06:45+00:00)
Title: Support declare var, declare function, declare class and declare module

So declare statements look like this:

declare var x;
declare var x: number;
declare function foo(x: number): string;
declare class A { foo(): number; static bar(): string; }
declare module A { export function foo() {} }

They have no runtime effect, just let the typechecker know about external things.

Test plan: `npm test`, ran flow parser comparison suite, tried with jstransform strip out transform, ran the Facebook esprima tester