///
import { EventEmitter } from 'events';
import TunnelConfig from './tunnelConfig';
export default abstract class BaseSSH2Promise extends EventEmitter {
/**
* Execute a cmd
* @param cmd
* @param params
* @param options
*/
exec(cmd: string, params?: Array, options?: any): Promise;
/**
* Spawn a cmd
* @param cmd
* @param params
* @param options
*/
spawn(cmd: string, params?: Array, options?: any): Promise;
/**
* Get shell socket
*/
shell(options?: any): Promise;
/**
* Get a subsys
*/
subsys(cmd: string): Promise;
/**
* Get a X11 port
*/
x11(cmd: string): Promise;
/**
* Get a Socks Port
*/
getSocksPort(localPort: number): Promise;
/**
* Get existing tunnel by name
*/
getTunnel(name: string): any;
/**
* Add new tunnel if not exist
*/
addTunnel(tunnelConfig: TunnelConfig): Promise;
/**
* Close the tunnel
*/
closeTunnel(name?: string): Promise;
}