import { Profile } from 'tabby-core' export interface Shell { id: string name: string command: string args?: string[] env: Record /** * Base path to which shell's internal FS is relative * Currently used for WSL only */ fsBase?: string /** * SVG icon */ icon?: string hidden?: boolean } /** * Extend to add support for more shells */ export abstract class ShellProvider { abstract provide (): Promise } export interface SessionOptions { restoreFromPTYID?: string name?: string command: string args?: string[] cwd?: string env?: Record width?: number height?: number pauseAfterExit?: boolean runAsAdministrator?: boolean } export interface LocalProfile extends Profile { options: SessionOptions } export interface ChildProcess { pid: number ppid: number command: string }