import * as russh from './native'; import { Observable } from 'rxjs'; import { Destructible } from './helpers'; import { ClientEventInterface } from './events'; export declare class NewChannel { private inner; constructor(inner: russh.NewSshChannel | null); take(): russh.NewSshChannel; } export interface PTYSize { columns: number; rows: number; pixWidth: number; pixHeight: number; } export interface X11Options { singleConnection: boolean; authProtocol: string; authCookie: string; screenNumber: number; } export declare class Channel extends Destructible { readonly id: number; private inner; readonly data$: Observable; readonly extendedData$: Observable<[number, Uint8Array]>; readonly eof$: Observable; readonly closed$: Observable; constructor(id: number, inner: russh.SshChannel, events: ClientEventInterface); take(): Promise; requestShell(): Promise; requestExec(command: string): Promise; requestAgentForwarding(): Promise; requestPTY(terminal: string, opts: PTYSize): Promise; requestX11Forwarding(options: X11Options): Promise; resizePTY(size: PTYSize): Promise; write(data: Uint8Array): Promise; eof(): Promise; close(): Promise; }