I recently asked a question about TypeScript\'s ability to extend existing prototypes in the JavaScript API (here: Extending Object.prototype with TypeScript).
This
Since TypeScript 1.4 static extensions can be added easily. The TypeScript team changed the lib.d.ts file to use interfaces for all static type definitions.
The static type definitions are all named like [Type]Constructor: So if you want to add a static function to type Object, then add your definition to ObjectConstructor.
Definition:
interface ObjectConstructor
{
FooAgain(): void;
}
Implementation:
Object.FooAgain = function(): void
{
// Oh noes, it's foo again!
}