// @noEmit: true
// @allowJs: true
// @checkJs: true
// @noImplicitAny: true
// @Filename: types.d.ts
declare function require(name: string): any;
declare var exports: any;
// @Filename: mod.js
///
var A = function() {
this.a = 1
}
var B = function() {
this.b = 2
}
exports.A = A
exports.B = B
A.prototype = B.prototype = {
/** @param {number} n */
m(n) {
return n + 1
}
}
// @Filename: use.js
///
var mod = require('./mod');
var a = new mod.A()
var b = new mod.B()
a.m('nope')
b.m('not really')