///
import { Channel } from 'nerdbank-streams';
import { MessageConnection } from 'vscode-jsonrpc';
/**
* Constructs a message connection to a given pipe
* @param pipe The channel or duplex to use for communicating
*/
export declare function constructMessageConnection(pipe: Channel | NodeJS.ReadWriteStream, connectionFactory: (stream: NodeJS.ReadableStream & NodeJS.WritableStream) => MessageConnection): MessageConnection;
export declare function isReadWriteStream(object: any): object is NodeJS.ReadWriteStream;
export declare function clone(obj: T): T;
export declare function isChannel(object: any): object is Channel;