type Pack = { rootMod: Mod; }; type Mod = null; interface PackEmitter { emit(pack: Pack): void; } class PackCompiler { public constructor( private entryFilePath: string, private emitter: PackEmitter, ) {} public compile() { } } class ModResolver { }