///
import { Duplex } from 'stream';
import { RemoteConsoleInfo } from '../rest';
export declare enum DeviceType {
FLOPPY = 1,
CDROM = 2,
USBKEY = 3
}
/**
* Negotiates a virtual media connection.
*
* Returns protocol version if correct (afterwards you can start
* the receiver) or throws error.
*
* Warning: Apparently, `sessionKey` and `rcInfo` must be taken
* from an already-running remote console session, otherwise AUTHFAIL.
*
* @param socket recently-opened socket (or duplex stream)
* @param sessionKey
* @param rcinfo
* @returns `[major, minor]` version tuple
*/
export declare function negotiateConnection(socket: Duplex, sessionKey: Uint8Array, rcinfo: RemoteConsoleInfo, options: {
deviceType: DeviceType;
targetIsDevice?: boolean;
}): Promise;
export default negotiateConnection;