visibilityOfCrossModuleTypeUsage_fs.ts(3,72): error TS2345: Argument of type 'IServer | undefined' is not assignable to parameter of type 'IServer'.
  Type 'undefined' is not assignable to type 'IServer'.


==== visibilityOfCrossModuleTypeUsage_fs.ts (1 errors) ====
    import commands = require('./visibilityOfCrossModuleTypeUsage_commands');
    function run(configuration: commands.IConfiguration) {
        var absoluteWorkspacePath = configuration.workspace.toAbsolutePath(configuration.server);
                                                                           ~~~~~~~~~~~~~~~~~~~~
!!! error TS2345: Argument of type 'IServer | undefined' is not assignable to parameter of type 'IServer'.
!!! error TS2345:   Type 'undefined' is not assignable to type 'IServer'.
    }
==== visibilityOfCrossModuleTypeUsage_commands.ts (0 errors) ====
    import fs = require('./visibilityOfCrossModuleTypeUsage_fs');
    import server = require('./visibilityOfCrossModuleTypeUsage_server');
    
    export interface IConfiguration {
        workspace: server.IWorkspace;
        server?: server.IServer;
    }
    
==== visibilityOfCrossModuleTypeUsage_server.ts (0 errors) ====
    export interface IServer {
    }
    
    export interface IWorkspace {
        toAbsolutePath(server: IServer, workspaceRelativePath?: string): string;
    }
    