// Copyright 2015 The Vanadium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style
// license that can be found in the LICENSE file.

// This file was auto-generated by the vanadium vdl tool.
var vdl = require('vanadium').vdl;






module.exports = {};



// Types:




// Consts:



// Errors:



// Services:

  
    
function Chat(){}
module.exports.Chat = Chat

    
      
Chat.prototype.sendMessage = function(ctx, text) {
  throw new Error('Method SendMessage not implemented');
};
     

    
Chat.prototype._serviceDescription = {
  name: 'Chat',
  pkgPath: 'chat/vdl',
  doc: "",
  embeds: [],
  methods: [
    
      
    {
    name: 'SendMessage',
    doc: "// SendMessage sends a message to a user.",
    inArgs: [{
      name: 'text',
      doc: "",
      type: vdl.Types.STRING
    },
    ],
    outArgs: [],
    inStream: null,
    outStream: null,
    tags: []
  },
     
  ]
};

   
 


