/**
 * Copyright (c) 2016, Daniel Imms (MIT License).
 * Copyright (c) 2018, Microsoft Corporation (MIT License).
 */ import * as net from 'net' ; export interface IProcessEnv { [ key ] : string ; } export interface ITerminal { /**
     * Gets the name of the process.
     */ process : string ; /**
     * Gets the process ID.
     */ pid : number ; /**
     * The socket for the master file descriptor. This is not supported on
     * Windows.
     */ master : net . Socket ; /**
     * The socket for the slave file descriptor. This is not supported on Windows.
     */ slave : net . Socket ; param data write ( data ) : void ; param cols param rows resize ( cols , rows ) : void ; /**
     * Close, kill and destroy the socket.
     */ destroy ( ) : void ; param signal kill ( signal ? ) : void ; /**
     * Set the pty socket encoding.
     */ setEncoding ( encoding ) : void ; /**
     * Resume the pty socket.
     */ resume ( ) : void ; /**
     * Pause the pty socket.
     */ pause ( ) : void ; /**
     * Alias for ITerminal.on(eventName, listener).
     */ addListener ( eventName , listener ) : void ; param eventName param listener on ( eventName , listener ) : void ; /**
     * Returns a copy of the array of listeners for the event named eventName.
     */ listeners ( eventName ) : Function [ ] ; /**
     * Removes the specified listener from the listener array for the event named
     * eventName.
     */ removeListener ( eventName , listener ) : void ; /**
     * Removes all listeners, or those of the specified eventName.
     */ removeAllListeners ( eventName ) : void ; /**
     * Adds a one time listener function for the event named eventName. The next
     * time eventName is triggered, this listener is removed and then invoked.
     */ once ( eventName , listener ) : void ; } export interface IPtyForkOptions { name ? : string ; cols ? : number ; rows ? : number ; cwd ? : string ; env ? : IProcessEnv ; uid ? : number ; gid ? : number ; encoding ? : string ; experimentalUseConpty ? : boolean | undefined ; } export interface IPtyOpenOptions { cols ? : number ; rows ? : number ; encoding ? : string ; }