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

import type { GenFile, GenMessage } from "@bufbuild/protobuf/codegenv1";
import { fileDesc, messageDesc } from "@bufbuild/protobuf/codegenv1";
import type { EventSubscription } from "./shared_pb";
import { file_gateway_v1_shared } from "./shared_pb";
import type { Event } from "../../isc/v1/event_pb";
import { file_isc_v1_event } from "../../isc/v1/event_pb";
import type { ServiceAddress } from "../../micro/v1/service_pb";
import { file_micro_v1_service } from "../../micro/v1/service_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file gateway/v1/start_event_stream.proto.
 */
export const file_gateway_v1_start_event_stream: GenFile = /*@__PURE__*/
  fileDesc("CiNnYXRld2F5L3YxL3N0YXJ0X2V2ZW50X3N0cmVhbS5wcm90bxIKZ2F0ZXdheS52MSJPChdTdGFydEV2ZW50U3RyZWFtUmVxdWVzdBI0Cg1zdWJzY3JpcHRpb25zGAEgAygLMh0uZ2F0ZXdheS52MS5FdmVudFN1YnNjcmlwdGlvbiJjChhTdGFydEV2ZW50U3RyZWFtUmVzcG9uc2USKQoHYWRkcmVzcxgBIAEoCzIYLm1pY3JvLnYxLlNlcnZpY2VBZGRyZXNzEhwKBWV2ZW50GAIgASgLMg0uaXNjLnYxLkV2ZW50QkBaPmdpdGh1Yi5jb20vYXJndXMtbGFicy9nby1lY3MvcHJvdG8vZ2VuL2dvL2dhdGV3YXkvdjE7Z2F0ZXdheXYxYgZwcm90bzM", [file_gateway_v1_shared, file_isc_v1_event, file_micro_v1_service]);

/**
 * StartEventStreamRequest represents a request to establish a stream of events from the gateway.
 * This enables real-time monitoring of system events through a server-side streaming connection.
 *
 * @generated from message gateway.v1.StartEventStreamRequest
 */
export type StartEventStreamRequest = Message<"gateway.v1.StartEventStreamRequest"> & {
  /**
   * @generated from field: repeated gateway.v1.EventSubscription subscriptions = 1;
   */
  subscriptions: EventSubscription[];
};

/**
 * Describes the message gateway.v1.StartEventStreamRequest.
 * Use `create(StartEventStreamRequestSchema)` to create a new message.
 */
export const StartEventStreamRequestSchema: GenMessage<StartEventStreamRequest> = /*@__PURE__*/
  messageDesc(file_gateway_v1_start_event_stream, 0);

/**
 * @generated from message gateway.v1.StartEventStreamResponse
 */
export type StartEventStreamResponse = Message<"gateway.v1.StartEventStreamResponse"> & {
  /**
   * Specifies the publisher's service address.
   *
   * @generated from field: micro.v1.ServiceAddress address = 1;
   */
  address?: ServiceAddress;

  /**
   * The event payload.
   *
   * @generated from field: isc.v1.Event event = 2;
   */
  event?: Event;
};

/**
 * Describes the message gateway.v1.StartEventStreamResponse.
 * Use `create(StartEventStreamResponseSchema)` to create a new message.
 */
export const StartEventStreamResponseSchema: GenMessage<StartEventStreamResponse> = /*@__PURE__*/
  messageDesc(file_gateway_v1_start_event_stream, 1);

