///
import net = require('../net/net.types');
export interface Message {
data: ArrayBuffer
source: net.Endpoint
}
export interface freedom_ChurnPipe {
bind(localAddress :string,
localPort :number,
remoteAddress :string,
remotePort :number,
transformerName :string,
key ?:ArrayBuffer,
config ?:string) : Promise;
send(buffer :ArrayBuffer) : Promise;
sendTo(buffer :ArrayBuffer, to :net.Endpoint) : Promise;
getLocalEndpoint() : Promise;
on(t:'message', f:(message:Message) => void) : void;
on(t:string, f:Function) : void;
}