/// <reference types="node" />
import 'stream.finished/auto';
import { RemoteHost } from '@fitbit/fdb-debugger';
import stream from 'stream';
import { SyncEvent } from 'ts-events';
import StreamTap from './StreamTap';
export declare type HostType = 'appHost' | 'companionHost';
export declare class HostConnection {
    ws: stream.Duplex;
    host: RemoteHost;
    private constructor();
    static getDumpStreamTap(): {
        preSerializeTransform: StreamTap;
        postDeserializeTransform: StreamTap;
    } | undefined;
    static connect(hostID: string): Promise<HostConnection>;
}
export declare type HostAddedEvent = {
    hostType: HostType;
    host: RemoteHost;
};
declare class HostConnections {
    onHostAdded: SyncEvent<HostAddedEvent>;
    appHost?: HostConnection;
    companionHost?: HostConnection;
    connect(hostType: HostType, hostID: string): Promise<HostConnection>;
}
export default HostConnections;
//# sourceMappingURL=HostConnections.d.ts.map