///
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;
}