import * as vscode from 'vscode' ; export interface KubectlV1 { invokeCommand ( command ) : Promise < KubectlV1 . ShellResult | undefined > ; portForward ( podName , podNamespace , localPort , remotePort , options ? ) : Promise < vscode . Disposable | undefined > ; } export namespace KubectlV1 { export interface ShellResult { readonly code : number ; readonly stdout : string ; readonly stderr : string ; } export interface PortForwardOptions { readonly showInUI ? : PortForwardUIOptions ; } export interface PortForwardNoUIOptions { readonly location : 'none' ; } export interface PortForwardStatusBarUIOptions { readonly location : 'status-bar' ; readonly description ? : string ; readonly onCancel ? : ( ) => void ; } export type PortForwardUIOptions = PortForwardNoUIOptions | PortForwardStatusBarUIOptions ; }