// @generated by protoc-gen-es v2.6.2 with parameter "target=ts"
// @generated from file process/process.proto (package process, syntax proto3)
/* eslint-disable */

import type {
  GenEnum,
  GenFile,
  GenMessage,
  GenService,
} from '@bufbuild/protobuf/codegenv2'
import {
  enumDesc,
  fileDesc,
  messageDesc,
  serviceDesc,
} from '@bufbuild/protobuf/codegenv2'
import type { Message } from '@bufbuild/protobuf'

/**
 * Describes the file process/process.proto.
 */
export const file_process_process: GenFile =
  /*@__PURE__*/
  fileDesc(
    'ChVwcm9jZXNzL3Byb2Nlc3MucHJvdG8SB3Byb2Nlc3MiSgoDUFRZEh8KBHNpemUYASABKAsyES5wcm9jZXNzLlBUWS5TaXplGiIKBFNpemUSDAoEY29scxgBIAEoDRIMCgRyb3dzGAIgASgNIqEBCg1Qcm9jZXNzQ29uZmlnEgsKA2NtZBgBIAEoCRIMCgRhcmdzGAIgAygJEi4KBGVudnMYAyADKAsyIC5wcm9jZXNzLlByb2Nlc3NDb25maWcuRW52c0VudHJ5EhAKA2N3ZBgEIAEoCUgAiAEBGisKCUVudnNFbnRyeRILCgNrZXkYASABKAkSDQoFdmFsdWUYAiABKAk6AjgBQgYKBF9jd2QiDQoLTGlzdFJlcXVlc3QiXAoLUHJvY2Vzc0luZm8SJgoGY29uZmlnGAEgASgLMhYucHJvY2Vzcy5Qcm9jZXNzQ29uZmlnEgsKA3BpZBgCIAEoDRIQCgN0YWcYAyABKAlIAIgBAUIGCgRfdGFnIjcKDExpc3RSZXNwb25zZRInCglwcm9jZXNzZXMYASADKAsyFC5wcm9jZXNzLlByb2Nlc3NJbmZvIpcBCgxTdGFydFJlcXVlc3QSJwoHcHJvY2VzcxgBIAEoCzIWLnByb2Nlc3MuUHJvY2Vzc0NvbmZpZxIeCgNwdHkYAiABKAsyDC5wcm9jZXNzLlBUWUgAiAEBEhAKA3RhZxgDIAEoCUgBiAEBEhIKBXN0ZGluGAQgASgISAKIAQFCBgoEX3B0eUIGCgRfdGFnQggKBl9zdGRpbiJiCg1VcGRhdGVSZXF1ZXN0EikKB3Byb2Nlc3MYASABKAsyGC5wcm9jZXNzLlByb2Nlc3NTZWxlY3RvchIeCgNwdHkYAiABKAsyDC5wcm9jZXNzLlBUWUgAiAEBQgYKBF9wdHkiEAoOVXBkYXRlUmVzcG9uc2UirwMKDFByb2Nlc3NFdmVudBIxCgVzdGFydBgBIAEoCzIgLnByb2Nlc3MuUHJvY2Vzc0V2ZW50LlN0YXJ0RXZlbnRIABIvCgRkYXRhGAIgASgLMh8ucHJvY2Vzcy5Qcm9jZXNzRXZlbnQuRGF0YUV2ZW50SAASLQoDZW5kGAMgASgLMh4ucHJvY2Vzcy5Qcm9jZXNzRXZlbnQuRW5kRXZlbnRIABI0CglrZWVwYWxpdmUYBCABKAsyHy5wcm9jZXNzLlByb2Nlc3NFdmVudC5LZWVwQWxpdmVIABoZCgpTdGFydEV2ZW50EgsKA3BpZBgBIAEoDRpICglEYXRhRXZlbnQSEAoGc3Rkb3V0GAEgASgMSAASEAoGc3RkZXJyGAIgASgMSAASDQoDcHR5GAMgASgMSABCCAoGb3V0cHV0GlsKCEVuZEV2ZW50EhEKCWV4aXRfY29kZRgBIAEoERIOCgZleGl0ZWQYAiABKAgSDgoGc3RhdHVzGAMgASgJEhIKBWVycm9yGAQgASgJSACIAQFCCAoGX2Vycm9yGgsKCUtlZXBBbGl2ZUIHCgVldmVudCI1Cg1TdGFydFJlc3BvbnNlEiQKBWV2ZW50GAEgASgLMhUucHJvY2Vzcy5Qcm9jZXNzRXZlbnQiNwoPQ29ubmVjdFJlc3BvbnNlEiQKBWV2ZW50GAEgASgLMhUucHJvY2Vzcy5Qcm9jZXNzRXZlbnQiYwoQU2VuZElucHV0UmVxdWVzdBIpCgdwcm9jZXNzGAEgASgLMhgucHJvY2Vzcy5Qcm9jZXNzU2VsZWN0b3ISJAoFaW5wdXQYAiABKAsyFS5wcm9jZXNzLlByb2Nlc3NJbnB1dCITChFTZW5kSW5wdXRSZXNwb25zZSI3CgxQcm9jZXNzSW5wdXQSDwoFc3RkaW4YASABKAxIABINCgNwdHkYAiABKAxIAEIHCgVpbnB1dCLCAgoSU3RyZWFtSW5wdXRSZXF1ZXN0EjcKBXN0YXJ0GAEgASgLMiYucHJvY2Vzcy5TdHJlYW1JbnB1dFJlcXVlc3QuU3RhcnRFdmVudEgAEjUKBGRhdGEYAiABKAsyJS5wcm9jZXNzLlN0cmVhbUlucHV0UmVxdWVzdC5EYXRhRXZlbnRIABI6CglrZWVwYWxpdmUYAyABKAsyJS5wcm9jZXNzLlN0cmVhbUlucHV0UmVxdWVzdC5LZWVwQWxpdmVIABo3CgpTdGFydEV2ZW50EikKB3Byb2Nlc3MYASABKAsyGC5wcm9jZXNzLlByb2Nlc3NTZWxlY3RvchoxCglEYXRhRXZlbnQSJAoFaW5wdXQYAiABKAsyFS5wcm9jZXNzLlByb2Nlc3NJbnB1dBoLCglLZWVwQWxpdmVCBwoFZXZlbnQiFQoTU3RyZWFtSW5wdXRSZXNwb25zZSJfChFTZW5kU2lnbmFsUmVxdWVzdBIpCgdwcm9jZXNzGAEgASgLMhgucHJvY2Vzcy5Qcm9jZXNzU2VsZWN0b3ISHwoGc2lnbmFsGAIgASgOMg8ucHJvY2Vzcy5TaWduYWwiFAoSU2VuZFNpZ25hbFJlc3BvbnNlIj4KEUNsb3NlU3RkaW5SZXF1ZXN0EikKB3Byb2Nlc3MYASABKAsyGC5wcm9jZXNzLlByb2Nlc3NTZWxlY3RvciIUChJDbG9zZVN0ZGluUmVzcG9uc2UiOwoOQ29ubmVjdFJlcXVlc3QSKQoHcHJvY2VzcxgBIAEoCzIYLnByb2Nlc3MuUHJvY2Vzc1NlbGVjdG9yIjsKD1Byb2Nlc3NTZWxlY3RvchINCgNwaWQYASABKA1IABINCgN0YWcYAiABKAlIAEIKCghzZWxlY3RvcipICgZTaWduYWwSFgoSU0lHTkFMX1VOU1BFQ0lGSUVEEAASEgoOU0lHTkFMX1NJR1RFUk0QDxISCg5TSUdOQUxfU0lHS0lMTBAJMpEECgdQcm9jZXNzEjMKBExpc3QSFC5wcm9jZXNzLkxpc3RSZXF1ZXN0GhUucHJvY2Vzcy5MaXN0UmVzcG9uc2USPgoHQ29ubmVjdBIXLnByb2Nlc3MuQ29ubmVjdFJlcXVlc3QaGC5wcm9jZXNzLkNvbm5lY3RSZXNwb25zZTABEjgKBVN0YXJ0EhUucHJvY2Vzcy5TdGFydFJlcXVlc3QaFi5wcm9jZXNzLlN0YXJ0UmVzcG9uc2UwARI5CgZVcGRhdGUSFi5wcm9jZXNzLlVwZGF0ZVJlcXVlc3QaFy5wcm9jZXNzLlVwZGF0ZVJlc3BvbnNlEkoKC1N0cmVhbUlucHV0EhsucHJvY2Vzcy5TdHJlYW1JbnB1dFJlcXVlc3QaHC5wcm9jZXNzLlN0cmVhbUlucHV0UmVzcG9uc2UoARJCCglTZW5kSW5wdXQSGS5wcm9jZXNzLlNlbmRJbnB1dFJlcXVlc3QaGi5wcm9jZXNzLlNlbmRJbnB1dFJlc3BvbnNlEkUKClNlbmRTaWduYWwSGi5wcm9jZXNzLlNlbmRTaWduYWxSZXF1ZXN0GhsucHJvY2Vzcy5TZW5kU2lnbmFsUmVzcG9uc2USRQoKQ2xvc2VTdGRpbhIaLnByb2Nlc3MuQ2xvc2VTdGRpblJlcXVlc3QaGy5wcm9jZXNzLkNsb3NlU3RkaW5SZXNwb25zZUJXCgtjb20ucHJvY2Vzc0IMUHJvY2Vzc1Byb3RvUAGiAgNQWFiqAgdQcm9jZXNzygIHUHJvY2Vzc+ICE1Byb2Nlc3NcR1BCTWV0YWRhdGHqAgdQcm9jZXNzYgZwcm90bzM'
  )

/**
 * @generated from message process.PTY
 */
export type PTY = Message<'process.PTY'> & {
  /**
   * @generated from field: process.PTY.Size size = 1;
   */
  size?: PTY_Size
}

/**
 * Describes the message process.PTY.
 * Use `create(PTYSchema)` to create a new message.
 */
export const PTYSchema: GenMessage<PTY> =
  /*@__PURE__*/
  messageDesc(file_process_process, 0)

/**
 * @generated from message process.PTY.Size
 */
export type PTY_Size = Message<'process.PTY.Size'> & {
  /**
   * @generated from field: uint32 cols = 1;
   */
  cols: number

  /**
   * @generated from field: uint32 rows = 2;
   */
  rows: number
}

/**
 * Describes the message process.PTY.Size.
 * Use `create(PTY_SizeSchema)` to create a new message.
 */
export const PTY_SizeSchema: GenMessage<PTY_Size> =
  /*@__PURE__*/
  messageDesc(file_process_process, 0, 0)

/**
 * @generated from message process.ProcessConfig
 */
export type ProcessConfig = Message<'process.ProcessConfig'> & {
  /**
   * @generated from field: string cmd = 1;
   */
  cmd: string

  /**
   * @generated from field: repeated string args = 2;
   */
  args: string[]

  /**
   * @generated from field: map<string, string> envs = 3;
   */
  envs: { [key: string]: string }

  /**
   * @generated from field: optional string cwd = 4;
   */
  cwd?: string
}

/**
 * Describes the message process.ProcessConfig.
 * Use `create(ProcessConfigSchema)` to create a new message.
 */
export const ProcessConfigSchema: GenMessage<ProcessConfig> =
  /*@__PURE__*/
  messageDesc(file_process_process, 1)

/**
 * @generated from message process.ListRequest
 */
export type ListRequest = Message<'process.ListRequest'> & {}

/**
 * Describes the message process.ListRequest.
 * Use `create(ListRequestSchema)` to create a new message.
 */
export const ListRequestSchema: GenMessage<ListRequest> =
  /*@__PURE__*/
  messageDesc(file_process_process, 2)

/**
 * @generated from message process.ProcessInfo
 */
export type ProcessInfo = Message<'process.ProcessInfo'> & {
  /**
   * @generated from field: process.ProcessConfig config = 1;
   */
  config?: ProcessConfig

  /**
   * @generated from field: uint32 pid = 2;
   */
  pid: number

  /**
   * @generated from field: optional string tag = 3;
   */
  tag?: string
}

/**
 * Describes the message process.ProcessInfo.
 * Use `create(ProcessInfoSchema)` to create a new message.
 */
export const ProcessInfoSchema: GenMessage<ProcessInfo> =
  /*@__PURE__*/
  messageDesc(file_process_process, 3)

/**
 * @generated from message process.ListResponse
 */
export type ListResponse = Message<'process.ListResponse'> & {
  /**
   * @generated from field: repeated process.ProcessInfo processes = 1;
   */
  processes: ProcessInfo[]
}

/**
 * Describes the message process.ListResponse.
 * Use `create(ListResponseSchema)` to create a new message.
 */
export const ListResponseSchema: GenMessage<ListResponse> =
  /*@__PURE__*/
  messageDesc(file_process_process, 4)

/**
 * @generated from message process.StartRequest
 */
export type StartRequest = Message<'process.StartRequest'> & {
  /**
   * @generated from field: process.ProcessConfig process = 1;
   */
  process?: ProcessConfig

  /**
   * @generated from field: optional process.PTY pty = 2;
   */
  pty?: PTY

  /**
   * @generated from field: optional string tag = 3;
   */
  tag?: string

  /**
   * @generated from field: optional bool stdin = 4;
   */
  stdin?: boolean
}

/**
 * Describes the message process.StartRequest.
 * Use `create(StartRequestSchema)` to create a new message.
 */
export const StartRequestSchema: GenMessage<StartRequest> =
  /*@__PURE__*/
  messageDesc(file_process_process, 5)

/**
 * @generated from message process.UpdateRequest
 */
export type UpdateRequest = Message<'process.UpdateRequest'> & {
  /**
   * @generated from field: process.ProcessSelector process = 1;
   */
  process?: ProcessSelector

  /**
   * @generated from field: optional process.PTY pty = 2;
   */
  pty?: PTY
}

/**
 * Describes the message process.UpdateRequest.
 * Use `create(UpdateRequestSchema)` to create a new message.
 */
export const UpdateRequestSchema: GenMessage<UpdateRequest> =
  /*@__PURE__*/
  messageDesc(file_process_process, 6)

/**
 * @generated from message process.UpdateResponse
 */
export type UpdateResponse = Message<'process.UpdateResponse'> & {}

/**
 * Describes the message process.UpdateResponse.
 * Use `create(UpdateResponseSchema)` to create a new message.
 */
export const UpdateResponseSchema: GenMessage<UpdateResponse> =
  /*@__PURE__*/
  messageDesc(file_process_process, 7)

/**
 * @generated from message process.ProcessEvent
 */
export type ProcessEvent = Message<'process.ProcessEvent'> & {
  /**
   * @generated from oneof process.ProcessEvent.event
   */
  event:
    | {
        /**
         * @generated from field: process.ProcessEvent.StartEvent start = 1;
         */
        value: ProcessEvent_StartEvent
        case: 'start'
      }
    | {
        /**
         * @generated from field: process.ProcessEvent.DataEvent data = 2;
         */
        value: ProcessEvent_DataEvent
        case: 'data'
      }
    | {
        /**
         * @generated from field: process.ProcessEvent.EndEvent end = 3;
         */
        value: ProcessEvent_EndEvent
        case: 'end'
      }
    | {
        /**
         * @generated from field: process.ProcessEvent.KeepAlive keepalive = 4;
         */
        value: ProcessEvent_KeepAlive
        case: 'keepalive'
      }
    | { case: undefined; value?: undefined }
}

/**
 * Describes the message process.ProcessEvent.
 * Use `create(ProcessEventSchema)` to create a new message.
 */
export const ProcessEventSchema: GenMessage<ProcessEvent> =
  /*@__PURE__*/
  messageDesc(file_process_process, 8)

/**
 * @generated from message process.ProcessEvent.StartEvent
 */
export type ProcessEvent_StartEvent =
  Message<'process.ProcessEvent.StartEvent'> & {
    /**
     * @generated from field: uint32 pid = 1;
     */
    pid: number
  }

/**
 * Describes the message process.ProcessEvent.StartEvent.
 * Use `create(ProcessEvent_StartEventSchema)` to create a new message.
 */
export const ProcessEvent_StartEventSchema: GenMessage<ProcessEvent_StartEvent> =
  /*@__PURE__*/
  messageDesc(file_process_process, 8, 0)

/**
 * @generated from message process.ProcessEvent.DataEvent
 */
export type ProcessEvent_DataEvent =
  Message<'process.ProcessEvent.DataEvent'> & {
    /**
     * @generated from oneof process.ProcessEvent.DataEvent.output
     */
    output:
      | {
          /**
           * @generated from field: bytes stdout = 1;
           */
          value: Uint8Array
          case: 'stdout'
        }
      | {
          /**
           * @generated from field: bytes stderr = 2;
           */
          value: Uint8Array
          case: 'stderr'
        }
      | {
          /**
           * @generated from field: bytes pty = 3;
           */
          value: Uint8Array
          case: 'pty'
        }
      | { case: undefined; value?: undefined }
  }

/**
 * Describes the message process.ProcessEvent.DataEvent.
 * Use `create(ProcessEvent_DataEventSchema)` to create a new message.
 */
export const ProcessEvent_DataEventSchema: GenMessage<ProcessEvent_DataEvent> =
  /*@__PURE__*/
  messageDesc(file_process_process, 8, 1)

/**
 * @generated from message process.ProcessEvent.EndEvent
 */
export type ProcessEvent_EndEvent = Message<'process.ProcessEvent.EndEvent'> & {
  /**
   * @generated from field: sint32 exit_code = 1;
   */
  exitCode: number

  /**
   * @generated from field: bool exited = 2;
   */
  exited: boolean

  /**
   * @generated from field: string status = 3;
   */
  status: string

  /**
   * @generated from field: optional string error = 4;
   */
  error?: string
}

/**
 * Describes the message process.ProcessEvent.EndEvent.
 * Use `create(ProcessEvent_EndEventSchema)` to create a new message.
 */
export const ProcessEvent_EndEventSchema: GenMessage<ProcessEvent_EndEvent> =
  /*@__PURE__*/
  messageDesc(file_process_process, 8, 2)

/**
 * @generated from message process.ProcessEvent.KeepAlive
 */
export type ProcessEvent_KeepAlive =
  Message<'process.ProcessEvent.KeepAlive'> & {}

/**
 * Describes the message process.ProcessEvent.KeepAlive.
 * Use `create(ProcessEvent_KeepAliveSchema)` to create a new message.
 */
export const ProcessEvent_KeepAliveSchema: GenMessage<ProcessEvent_KeepAlive> =
  /*@__PURE__*/
  messageDesc(file_process_process, 8, 3)

/**
 * @generated from message process.StartResponse
 */
export type StartResponse = Message<'process.StartResponse'> & {
  /**
   * @generated from field: process.ProcessEvent event = 1;
   */
  event?: ProcessEvent
}

/**
 * Describes the message process.StartResponse.
 * Use `create(StartResponseSchema)` to create a new message.
 */
export const StartResponseSchema: GenMessage<StartResponse> =
  /*@__PURE__*/
  messageDesc(file_process_process, 9)

/**
 * @generated from message process.ConnectResponse
 */
export type ConnectResponse = Message<'process.ConnectResponse'> & {
  /**
   * @generated from field: process.ProcessEvent event = 1;
   */
  event?: ProcessEvent
}

/**
 * Describes the message process.ConnectResponse.
 * Use `create(ConnectResponseSchema)` to create a new message.
 */
export const ConnectResponseSchema: GenMessage<ConnectResponse> =
  /*@__PURE__*/
  messageDesc(file_process_process, 10)

/**
 * @generated from message process.SendInputRequest
 */
export type SendInputRequest = Message<'process.SendInputRequest'> & {
  /**
   * @generated from field: process.ProcessSelector process = 1;
   */
  process?: ProcessSelector

  /**
   * @generated from field: process.ProcessInput input = 2;
   */
  input?: ProcessInput
}

/**
 * Describes the message process.SendInputRequest.
 * Use `create(SendInputRequestSchema)` to create a new message.
 */
export const SendInputRequestSchema: GenMessage<SendInputRequest> =
  /*@__PURE__*/
  messageDesc(file_process_process, 11)

/**
 * @generated from message process.SendInputResponse
 */
export type SendInputResponse = Message<'process.SendInputResponse'> & {}

/**
 * Describes the message process.SendInputResponse.
 * Use `create(SendInputResponseSchema)` to create a new message.
 */
export const SendInputResponseSchema: GenMessage<SendInputResponse> =
  /*@__PURE__*/
  messageDesc(file_process_process, 12)

/**
 * @generated from message process.ProcessInput
 */
export type ProcessInput = Message<'process.ProcessInput'> & {
  /**
   * @generated from oneof process.ProcessInput.input
   */
  input:
    | {
        /**
         * @generated from field: bytes stdin = 1;
         */
        value: Uint8Array
        case: 'stdin'
      }
    | {
        /**
         * @generated from field: bytes pty = 2;
         */
        value: Uint8Array
        case: 'pty'
      }
    | { case: undefined; value?: undefined }
}

/**
 * Describes the message process.ProcessInput.
 * Use `create(ProcessInputSchema)` to create a new message.
 */
export const ProcessInputSchema: GenMessage<ProcessInput> =
  /*@__PURE__*/
  messageDesc(file_process_process, 13)

/**
 * @generated from message process.StreamInputRequest
 */
export type StreamInputRequest = Message<'process.StreamInputRequest'> & {
  /**
   * @generated from oneof process.StreamInputRequest.event
   */
  event:
    | {
        /**
         * @generated from field: process.StreamInputRequest.StartEvent start = 1;
         */
        value: StreamInputRequest_StartEvent
        case: 'start'
      }
    | {
        /**
         * @generated from field: process.StreamInputRequest.DataEvent data = 2;
         */
        value: StreamInputRequest_DataEvent
        case: 'data'
      }
    | {
        /**
         * @generated from field: process.StreamInputRequest.KeepAlive keepalive = 3;
         */
        value: StreamInputRequest_KeepAlive
        case: 'keepalive'
      }
    | { case: undefined; value?: undefined }
}

/**
 * Describes the message process.StreamInputRequest.
 * Use `create(StreamInputRequestSchema)` to create a new message.
 */
export const StreamInputRequestSchema: GenMessage<StreamInputRequest> =
  /*@__PURE__*/
  messageDesc(file_process_process, 14)

/**
 * @generated from message process.StreamInputRequest.StartEvent
 */
export type StreamInputRequest_StartEvent =
  Message<'process.StreamInputRequest.StartEvent'> & {
    /**
     * @generated from field: process.ProcessSelector process = 1;
     */
    process?: ProcessSelector
  }

/**
 * Describes the message process.StreamInputRequest.StartEvent.
 * Use `create(StreamInputRequest_StartEventSchema)` to create a new message.
 */
export const StreamInputRequest_StartEventSchema: GenMessage<StreamInputRequest_StartEvent> =
  /*@__PURE__*/
  messageDesc(file_process_process, 14, 0)

/**
 * @generated from message process.StreamInputRequest.DataEvent
 */
export type StreamInputRequest_DataEvent =
  Message<'process.StreamInputRequest.DataEvent'> & {
    /**
     * @generated from field: process.ProcessInput input = 2;
     */
    input?: ProcessInput
  }

/**
 * Describes the message process.StreamInputRequest.DataEvent.
 * Use `create(StreamInputRequest_DataEventSchema)` to create a new message.
 */
export const StreamInputRequest_DataEventSchema: GenMessage<StreamInputRequest_DataEvent> =
  /*@__PURE__*/
  messageDesc(file_process_process, 14, 1)

/**
 * @generated from message process.StreamInputRequest.KeepAlive
 */
export type StreamInputRequest_KeepAlive =
  Message<'process.StreamInputRequest.KeepAlive'> & {}

/**
 * Describes the message process.StreamInputRequest.KeepAlive.
 * Use `create(StreamInputRequest_KeepAliveSchema)` to create a new message.
 */
export const StreamInputRequest_KeepAliveSchema: GenMessage<StreamInputRequest_KeepAlive> =
  /*@__PURE__*/
  messageDesc(file_process_process, 14, 2)

/**
 * @generated from message process.StreamInputResponse
 */
export type StreamInputResponse = Message<'process.StreamInputResponse'> & {}

/**
 * Describes the message process.StreamInputResponse.
 * Use `create(StreamInputResponseSchema)` to create a new message.
 */
export const StreamInputResponseSchema: GenMessage<StreamInputResponse> =
  /*@__PURE__*/
  messageDesc(file_process_process, 15)

/**
 * @generated from message process.SendSignalRequest
 */
export type SendSignalRequest = Message<'process.SendSignalRequest'> & {
  /**
   * @generated from field: process.ProcessSelector process = 1;
   */
  process?: ProcessSelector

  /**
   * @generated from field: process.Signal signal = 2;
   */
  signal: Signal
}

/**
 * Describes the message process.SendSignalRequest.
 * Use `create(SendSignalRequestSchema)` to create a new message.
 */
export const SendSignalRequestSchema: GenMessage<SendSignalRequest> =
  /*@__PURE__*/
  messageDesc(file_process_process, 16)

/**
 * @generated from message process.SendSignalResponse
 */
export type SendSignalResponse = Message<'process.SendSignalResponse'> & {}

/**
 * Describes the message process.SendSignalResponse.
 * Use `create(SendSignalResponseSchema)` to create a new message.
 */
export const SendSignalResponseSchema: GenMessage<SendSignalResponse> =
  /*@__PURE__*/
  messageDesc(file_process_process, 17)

/**
 * @generated from message process.CloseStdinRequest
 */
export type CloseStdinRequest = Message<'process.CloseStdinRequest'> & {
  /**
   * @generated from field: process.ProcessSelector process = 1;
   */
  process?: ProcessSelector
}

/**
 * Describes the message process.CloseStdinRequest.
 * Use `create(CloseStdinRequestSchema)` to create a new message.
 */
export const CloseStdinRequestSchema: GenMessage<CloseStdinRequest> =
  /*@__PURE__*/
  messageDesc(file_process_process, 18)

/**
 * @generated from message process.CloseStdinResponse
 */
export type CloseStdinResponse = Message<'process.CloseStdinResponse'> & {}

/**
 * Describes the message process.CloseStdinResponse.
 * Use `create(CloseStdinResponseSchema)` to create a new message.
 */
export const CloseStdinResponseSchema: GenMessage<CloseStdinResponse> =
  /*@__PURE__*/
  messageDesc(file_process_process, 19)

/**
 * @generated from message process.ConnectRequest
 */
export type ConnectRequest = Message<'process.ConnectRequest'> & {
  /**
   * @generated from field: process.ProcessSelector process = 1;
   */
  process?: ProcessSelector
}

/**
 * Describes the message process.ConnectRequest.
 * Use `create(ConnectRequestSchema)` to create a new message.
 */
export const ConnectRequestSchema: GenMessage<ConnectRequest> =
  /*@__PURE__*/
  messageDesc(file_process_process, 20)

/**
 * @generated from message process.ProcessSelector
 */
export type ProcessSelector = Message<'process.ProcessSelector'> & {
  /**
   * @generated from oneof process.ProcessSelector.selector
   */
  selector:
    | {
        /**
         * @generated from field: uint32 pid = 1;
         */
        value: number
        case: 'pid'
      }
    | {
        /**
         * @generated from field: string tag = 2;
         */
        value: string
        case: 'tag'
      }
    | { case: undefined; value?: undefined }
}

/**
 * Describes the message process.ProcessSelector.
 * Use `create(ProcessSelectorSchema)` to create a new message.
 */
export const ProcessSelectorSchema: GenMessage<ProcessSelector> =
  /*@__PURE__*/
  messageDesc(file_process_process, 21)

/**
 * @generated from enum process.Signal
 */
export enum Signal {
  /**
   * @generated from enum value: SIGNAL_UNSPECIFIED = 0;
   */
  UNSPECIFIED = 0,

  /**
   * @generated from enum value: SIGNAL_SIGTERM = 15;
   */
  SIGTERM = 15,

  /**
   * @generated from enum value: SIGNAL_SIGKILL = 9;
   */
  SIGKILL = 9,
}

/**
 * Describes the enum process.Signal.
 */
export const SignalSchema: GenEnum<Signal> =
  /*@__PURE__*/
  enumDesc(file_process_process, 0)

/**
 * @generated from service process.Process
 */
export const Process: GenService<{
  /**
   * @generated from rpc process.Process.List
   */
  list: {
    methodKind: 'unary'
    input: typeof ListRequestSchema
    output: typeof ListResponseSchema
  }
  /**
   * @generated from rpc process.Process.Connect
   */
  connect: {
    methodKind: 'server_streaming'
    input: typeof ConnectRequestSchema
    output: typeof ConnectResponseSchema
  }
  /**
   * @generated from rpc process.Process.Start
   */
  start: {
    methodKind: 'server_streaming'
    input: typeof StartRequestSchema
    output: typeof StartResponseSchema
  }
  /**
   * @generated from rpc process.Process.Update
   */
  update: {
    methodKind: 'unary'
    input: typeof UpdateRequestSchema
    output: typeof UpdateResponseSchema
  }
  /**
   * Client input stream ensures ordering of messages
   *
   * @generated from rpc process.Process.StreamInput
   */
  streamInput: {
    methodKind: 'client_streaming'
    input: typeof StreamInputRequestSchema
    output: typeof StreamInputResponseSchema
  }
  /**
   * @generated from rpc process.Process.SendInput
   */
  sendInput: {
    methodKind: 'unary'
    input: typeof SendInputRequestSchema
    output: typeof SendInputResponseSchema
  }
  /**
   * @generated from rpc process.Process.SendSignal
   */
  sendSignal: {
    methodKind: 'unary'
    input: typeof SendSignalRequestSchema
    output: typeof SendSignalResponseSchema
  }
  /**
   * Close stdin to signal EOF to the process.
   * Only works for non-PTY processes. For PTY, send Ctrl+D (0x04) instead.
   *
   * @generated from rpc process.Process.CloseStdin
   */
  closeStdin: {
    methodKind: 'unary'
    input: typeof CloseStdinRequestSchema
    output: typeof CloseStdinResponseSchema
  }
}> = /*@__PURE__*/ serviceDesc(file_process_process, 0)
