// @generated by protoc-gen-es v2.13.0 with parameter "target=ts,import_extension=js"
// @generated from file soulfire/plugin/example/v1/example.proto (package soulfire.plugin.example.v1, syntax proto3)
/* eslint-disable */

import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
import { file_soulfire_api_docs } from "../../../api_docs_pb.js";
import { file_google_api_annotations } from "../../../../google/api/annotations_pb.js";
import { file_google_api_field_behavior } from "../../../../google/api/field_behavior_pb.js";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file soulfire/plugin/example/v1/example.proto.
 */
export const file_soulfire_plugin_example_v1_example: GenFile = /*@__PURE__*/
  fileDesc("Cihzb3VsZmlyZS9wbHVnaW4vZXhhbXBsZS92MS9leGFtcGxlLnByb3RvEhpzb3VsZmlyZS5wbHVnaW4uZXhhbXBsZS52MSJHCgtFY2hvUmVxdWVzdBIiCgtpbnN0YW5jZV9pZBgBIAEoCUIN4EEC0vMYBgoEdXVpZBIUCgdtZXNzYWdlGAIgASgJQgPgQQIiJAoMRWNob1Jlc3BvbnNlEhQKB21lc3NhZ2UYASABKAlCA+BBAiJLChFXYXRjaFRpY2tzUmVxdWVzdBIiCgtpbnN0YW5jZV9pZBgBIAEoCUIN4EEC0vMYBgoEdXVpZBISCgVjb3VudBgCIAEoDUID4EECIh0KBFRpY2sSFQoIc2VxdWVuY2UYASABKA1CA+BBAjLdAwoURXhhbXBsZVBsdWdpblNlcnZpY2US8AEKBEVjaG8SJy5zb3VsZmlyZS5wbHVnaW4uZXhhbXBsZS52MS5FY2hvUmVxdWVzdBooLnNvdWxmaXJlLnBsdWdpbi5leGFtcGxlLnYxLkVjaG9SZXNwb25zZSKUAcrzGG0KFUVjaG8gYSBwbHVnaW4gbWVzc2FnZRIzRWNobyBhIG1lc3NhZ2UgdGhyb3VnaCB0aGUgZXhhbXBsZSBTb3VsRmlyZSBwbHVnaW4uGhNwbHVnaW4uZXhhbXBsZS5yZWFkIghpbnN0YW5jZUABgtPkkwIdOgEqIhgvdjEvcGx1Z2lucy9leGFtcGxlOmVjaG8S0QEKCldhdGNoVGlja3MSLS5zb3VsZmlyZS5wbHVnaW4uZXhhbXBsZS52MS5XYXRjaFRpY2tzUmVxdWVzdBogLnNvdWxmaXJlLnBsdWdpbi5leGFtcGxlLnYxLlRpY2sicMrzGEsKE1dhdGNoIGV4YW1wbGUgdGlja3MaE3BsdWdpbi5leGFtcGxlLnJlYWQiCGluc3RhbmNlMhVGaW5pdGUgc2VydmVyIHN0cmVhbS6C0+STAhsSGS92MS9wbHVnaW5zL2V4YW1wbGUvdGlja3MwAUIzCi9jb20uc291bGZpcmVtYy5ncnBjLmdlbmVyYXRlZC5wbHVnaW4uZXhhbXBsZS52MVABYgZwcm90bzM", [file_soulfire_api_docs, file_google_api_annotations, file_google_api_field_behavior]);

/**
 * @generated from message soulfire.plugin.example.v1.EchoRequest
 */
export type EchoRequest = Message<"soulfire.plugin.example.v1.EchoRequest"> & {
  /**
   * @generated from field: string instance_id = 1;
   */
  instanceId: string;

  /**
   * @generated from field: string message = 2;
   */
  message: string;
};

/**
 * Describes the message soulfire.plugin.example.v1.EchoRequest.
 * Use `create(EchoRequestSchema)` to create a new message.
 */
export const EchoRequestSchema: GenMessage<EchoRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_plugin_example_v1_example, 0);

/**
 * @generated from message soulfire.plugin.example.v1.EchoResponse
 */
export type EchoResponse = Message<"soulfire.plugin.example.v1.EchoResponse"> & {
  /**
   * @generated from field: string message = 1;
   */
  message: string;
};

/**
 * Describes the message soulfire.plugin.example.v1.EchoResponse.
 * Use `create(EchoResponseSchema)` to create a new message.
 */
export const EchoResponseSchema: GenMessage<EchoResponse> = /*@__PURE__*/
  messageDesc(file_soulfire_plugin_example_v1_example, 1);

/**
 * @generated from message soulfire.plugin.example.v1.WatchTicksRequest
 */
export type WatchTicksRequest = Message<"soulfire.plugin.example.v1.WatchTicksRequest"> & {
  /**
   * @generated from field: string instance_id = 1;
   */
  instanceId: string;

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

/**
 * Describes the message soulfire.plugin.example.v1.WatchTicksRequest.
 * Use `create(WatchTicksRequestSchema)` to create a new message.
 */
export const WatchTicksRequestSchema: GenMessage<WatchTicksRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_plugin_example_v1_example, 2);

/**
 * @generated from message soulfire.plugin.example.v1.Tick
 */
export type Tick = Message<"soulfire.plugin.example.v1.Tick"> & {
  /**
   * @generated from field: uint32 sequence = 1;
   */
  sequence: number;
};

/**
 * Describes the message soulfire.plugin.example.v1.Tick.
 * Use `create(TickSchema)` to create a new message.
 */
export const TickSchema: GenMessage<Tick> = /*@__PURE__*/
  messageDesc(file_soulfire_plugin_example_v1_example, 3);

/**
 * Opt-in example used to demonstrate the complete plugin RPC toolchain.
 *
 * @generated from service soulfire.plugin.example.v1.ExamplePluginService
 */
export const ExamplePluginService: GenService<{
  /**
   * @generated from rpc soulfire.plugin.example.v1.ExamplePluginService.Echo
   */
  echo: {
    methodKind: "unary";
    input: typeof EchoRequestSchema;
    output: typeof EchoResponseSchema;
  },
  /**
   * @generated from rpc soulfire.plugin.example.v1.ExamplePluginService.WatchTicks
   */
  watchTicks: {
    methodKind: "server_streaming";
    input: typeof WatchTicksRequestSchema;
    output: typeof TickSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_soulfire_plugin_example_v1_example, 0);
