/**
*  @param { String | Array<String>}  targetName    The name (or names) of what to find.
*/
function find(targetName) {
}

/**
*  @param {function} callback
*/
function bind(callback) {
}

/**
*  @param {function}
*/
function unbind(callback) {
}

/**
*  @param id The id of the element.
*/
function getElement(id) {
}

/**
*  @param ... Two or more elements.
*/
function combine() {
}

/**
*  @param delimiter - What to split on.
*/
function split(delimiter) {
}

/**
*  @param - If true make the commit atomic.
*/
function commit(atomic) {
}

/**
 * @param [async=true] - whether to be asynchronous
 */
function request(async) {
}

/** @class */
function MySocket() {}
/**
 * @param {string} - Hostname.
 * @param {number} - Port number.
 */
MySocket.prototype.open = function(hostname, port) {};
