=== tests/cases/compiler/funduleUsedAcrossFileBoundary_file1.ts === declare function Q(value: T): string; >Q : typeof Q >T : T >value : T >T : T declare module Q { >Q : typeof Q interface Promise { >Promise : Promise >T : T foo: string; >foo : string } export function defer(): string; >defer : () => string >T : T } === tests/cases/compiler/funduleUsedAcrossFileBoundary_file2.ts === function promiseWithCancellation(promise: Q.Promise) { >promiseWithCancellation : (promise: Q.Promise) => void >T : T >promise : Q.Promise >Q : unknown >Promise : Q.Promise >T : T var deferred = Q.defer(); // used to be an error >deferred : string >Q.defer() : string >Q.defer : () => string >Q : typeof Q >defer : () => string >T : T }