///
import churn_types = require('../churn/churn.types');
import net = require('../net/net.types');
export interface MirrorMapping {
local: net.Endpoint;
remote: net.Endpoint;
}
export interface freedom_ChurnPipe {
setTransformer(config: churn_types.TransformerConfig): Promise;
bindLocal(publicEndpoint: net.Endpoint): Promise;
addBrowserEndpoint(browserEndpoint: net.Endpoint): Promise;
bindRemote(remoteEndpoint: net.Endpoint): Promise;
shutdown(): Promise;
on(name: 'mappedAddress', listener: (event: MirrorMapping) => void): void;
on(name: string, listener: (event: Object) => void): void;
}