//// [externModule.ts]
declare module {
    export class XDate {
		public getDay():number;
		public getXDate():number;
		// etc.

	    // Called as a function
	    // Not supported anymore? public (): string;
	    
	    // Called as a constructor
	    constructor(year: number, month: number);
	    constructor(year: number, month: number, date: number);
	    constructor(year: number, month: number, date: number, hours: number);
	    constructor(year: number, month: number, date: number, hours: number, minutes: number);
	    constructor(year: number, month: number, date: number, hours: number, minutes: number, seconds: number);
	    constructor(year: number, month: number, date: number, hours: number, minutes: number, seconds: number, ms: number);
	    constructor(value: number);
	    constructor();
	    
	    static parse(string: string): number;
	    static UTC(year: number, month: number): number;
	    static UTC(year: number, month: number, date: number): number;
	    static UTC(year: number, month: number, date: number, hours: number): number;
	    static UTC(year: number, month: number, date: number, hours: number, minutes: number): number;
	    static UTC(year: number, month: number, date: number, hours: number, minutes: number, seconds: number): number;
	    static UTC(year: number, month: number, date: number, hours: number, minutes: number, seconds: number,
		         ms: number): number;
	    static now(): number;
    }
}

var d=new XDate();
d.getDay();
d=new XDate(1978,2);
d.getXDate();
var n=XDate.parse("3/2/2004");
n=XDate.UTC(1964,2,1);



//// [externModule.js]
declare;
module;
{
    var XDate = (function () {
        function XDate() {
        }
        return XDate;
    })();
    exports.XDate = XDate;
}
var d = new XDate();
d.getDay();
d = new XDate(1978, 2);
d.getXDate();
var n = XDate.parse("3/2/2004");
n = XDate.UTC(1964, 2, 1);
