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

import type { GenFile, GenMessage, GenService } from "@bufbuild/protobuf/codegenv2";
import { fileDesc, messageDesc, serviceDesc } from "@bufbuild/protobuf/codegenv2";
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 { file_soulfire_api_docs } from "./api_docs_pb.js";
import type { BotActionResult } from "./bot_live_pb.js";
import { file_soulfire_bot_live } from "./bot_live_pb.js";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file soulfire/chat.proto.
 */
export const file_soulfire_chat: GenFile = /*@__PURE__*/
  fileDesc("ChNzb3VsZmlyZS9jaGF0LnByb3RvEgtzb3VsZmlyZS52MSJOCglDaGF0U2NvcGUSIgoLaW5zdGFuY2VfaWQYASABKAlCDeBBAtLzGAYKBHV1aWQSHQoGYm90X2lkGAIgASgJQg3gQQLS8xgGCgR1dWlkIoEBChVTZW5kUHVibGljQ2hhdFJlcXVlc3QSJQoFc2NvcGUYASABKAsyFi5zb3VsZmlyZS52MS5DaGF0U2NvcGUSDwoHbWVzc2FnZRgCIAEoCRIcCg9pZGVtcG90ZW5jeV9rZXkYAyABKAlIAIgBAUISChBfaWRlbXBvdGVuY3lfa2V5In4KElNlbmRDb21tYW5kUmVxdWVzdBIlCgVzY29wZRgBIAEoCzIWLnNvdWxmaXJlLnYxLkNoYXRTY29wZRIPCgdjb21tYW5kGAIgASgJEhwKD2lkZW1wb3RlbmN5X2tleRgDIAEoCUgAiAEBQhIKEF9pZGVtcG90ZW5jeV9rZXkikQEKElNlbmRXaGlzcGVyUmVxdWVzdBIlCgVzY29wZRgBIAEoCzIWLnNvdWxmaXJlLnYxLkNoYXRTY29wZRIRCglyZWNpcGllbnQYAiABKAkSDwoHbWVzc2FnZRgDIAEoCRIcCg9pZGVtcG90ZW5jeV9rZXkYBCABKAlIAIgBAUISChBfaWRlbXBvdGVuY3lfa2V5IkIKEkNoYXRBY3Rpb25SZXNwb25zZRIsCgZyZXN1bHQYASABKAsyHC5zb3VsZmlyZS52MS5Cb3RBY3Rpb25SZXN1bHQiagoSVGFiQ29tcGxldGVSZXF1ZXN0EiUKBXNjb3BlGAEgASgLMhYuc291bGZpcmUudjEuQ2hhdFNjb3BlEg0KBWlucHV0GAIgASgJEhMKBmN1cnNvchgDIAEoBUgAiAEBQgkKB19jdXJzb3IiSQoNVGFiU3VnZ2VzdGlvbhIMCgR0ZXh0GAEgASgJEhkKDHRvb2x0aXBfanNvbhgCIAEoCUgAiAEBQg8KDV90b29sdGlwX2pzb24iZQoTVGFiQ29tcGxldGVSZXNwb25zZRINCgVzdGFydBgBIAEoBRIOCgZsZW5ndGgYAiABKAUSLwoLc3VnZ2VzdGlvbnMYAyADKAsyGi5zb3VsZmlyZS52MS5UYWJTdWdnZXN0aW9uMqwFCgtDaGF0U2VydmljZRKoAQoOU2VuZFB1YmxpY0NoYXQSIi5zb3VsZmlyZS52MS5TZW5kUHVibGljQ2hhdFJlcXVlc3QaHy5zb3VsZmlyZS52MS5DaGF0QWN0aW9uUmVzcG9uc2UiUcrzGDUKEFNlbmQgcHVibGljIGNoYXQaE0NPTlRST0xfQk9UX0FDVElPTlMiDGluc3RhbmNlLmJvdILT5JMCEjoBKiINL3YxL2NoYXQ6c2VuZBKhAQoLU2VuZENvbW1hbmQSHy5zb3VsZmlyZS52MS5TZW5kQ29tbWFuZFJlcXVlc3QaHy5zb3VsZmlyZS52MS5DaGF0QWN0aW9uUmVzcG9uc2UiUMrzGDEKDFNlbmQgY29tbWFuZBoTQ09OVFJPTF9CT1RfQUNUSU9OUyIMaW5zdGFuY2UuYm90gtPkkwIVOgEqIhAvdjEvY2hhdDpjb21tYW5kEqEBCgtTZW5kV2hpc3BlchIfLnNvdWxmaXJlLnYxLlNlbmRXaGlzcGVyUmVxdWVzdBofLnNvdWxmaXJlLnYxLkNoYXRBY3Rpb25SZXNwb25zZSJQyvMYMQoMU2VuZCB3aGlzcGVyGhNDT05UUk9MX0JPVF9BQ1RJT05TIgxpbnN0YW5jZS5ib3SC0+STAhU6ASoiEC92MS9jaGF0OndoaXNwZXISqQEKC1RhYkNvbXBsZXRlEh8uc291bGZpcmUudjEuVGFiQ29tcGxldGVSZXF1ZXN0GiAuc291bGZpcmUudjEuVGFiQ29tcGxldGVSZXNwb25zZSJXyvMYNwoYQ29tcGxldGUgY29tbWFuZCBvciBjaGF0Gg1SRUFEX0JPVF9JTkZPIgxpbnN0YW5jZS5ib3SC0+STAhY6ASoiES92MS9jaGF0OmNvbXBsZXRlQiEKHWNvbS5zb3VsZmlyZW1jLmdycGMuZ2VuZXJhdGVkUAFiBnByb3RvMw", [file_google_api_annotations, file_google_api_field_behavior, file_soulfire_api_docs, file_soulfire_bot_live]);

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

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

/**
 * Describes the message soulfire.v1.ChatScope.
 * Use `create(ChatScopeSchema)` to create a new message.
 */
export const ChatScopeSchema: GenMessage<ChatScope> = /*@__PURE__*/
  messageDesc(file_soulfire_chat, 0);

/**
 * @generated from message soulfire.v1.SendPublicChatRequest
 */
export type SendPublicChatRequest = Message<"soulfire.v1.SendPublicChatRequest"> & {
  /**
   * @generated from field: soulfire.v1.ChatScope scope = 1;
   */
  scope?: ChatScope | undefined;

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

  /**
   * @generated from field: optional string idempotency_key = 3;
   */
  idempotencyKey?: string | undefined;
};

/**
 * Describes the message soulfire.v1.SendPublicChatRequest.
 * Use `create(SendPublicChatRequestSchema)` to create a new message.
 */
export const SendPublicChatRequestSchema: GenMessage<SendPublicChatRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_chat, 1);

/**
 * @generated from message soulfire.v1.SendCommandRequest
 */
export type SendCommandRequest = Message<"soulfire.v1.SendCommandRequest"> & {
  /**
   * @generated from field: soulfire.v1.ChatScope scope = 1;
   */
  scope?: ChatScope | undefined;

  /**
   * @generated from field: string command = 2;
   */
  command: string;

  /**
   * @generated from field: optional string idempotency_key = 3;
   */
  idempotencyKey?: string | undefined;
};

/**
 * Describes the message soulfire.v1.SendCommandRequest.
 * Use `create(SendCommandRequestSchema)` to create a new message.
 */
export const SendCommandRequestSchema: GenMessage<SendCommandRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_chat, 2);

/**
 * @generated from message soulfire.v1.SendWhisperRequest
 */
export type SendWhisperRequest = Message<"soulfire.v1.SendWhisperRequest"> & {
  /**
   * @generated from field: soulfire.v1.ChatScope scope = 1;
   */
  scope?: ChatScope | undefined;

  /**
   * @generated from field: string recipient = 2;
   */
  recipient: string;

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

  /**
   * @generated from field: optional string idempotency_key = 4;
   */
  idempotencyKey?: string | undefined;
};

/**
 * Describes the message soulfire.v1.SendWhisperRequest.
 * Use `create(SendWhisperRequestSchema)` to create a new message.
 */
export const SendWhisperRequestSchema: GenMessage<SendWhisperRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_chat, 3);

/**
 * @generated from message soulfire.v1.ChatActionResponse
 */
export type ChatActionResponse = Message<"soulfire.v1.ChatActionResponse"> & {
  /**
   * @generated from field: soulfire.v1.BotActionResult result = 1;
   */
  result?: BotActionResult | undefined;
};

/**
 * Describes the message soulfire.v1.ChatActionResponse.
 * Use `create(ChatActionResponseSchema)` to create a new message.
 */
export const ChatActionResponseSchema: GenMessage<ChatActionResponse> = /*@__PURE__*/
  messageDesc(file_soulfire_chat, 4);

/**
 * @generated from message soulfire.v1.TabCompleteRequest
 */
export type TabCompleteRequest = Message<"soulfire.v1.TabCompleteRequest"> & {
  /**
   * @generated from field: soulfire.v1.ChatScope scope = 1;
   */
  scope?: ChatScope | undefined;

  /**
   * @generated from field: string input = 2;
   */
  input: string;

  /**
   * @generated from field: optional int32 cursor = 3;
   */
  cursor?: number | undefined;
};

/**
 * Describes the message soulfire.v1.TabCompleteRequest.
 * Use `create(TabCompleteRequestSchema)` to create a new message.
 */
export const TabCompleteRequestSchema: GenMessage<TabCompleteRequest> = /*@__PURE__*/
  messageDesc(file_soulfire_chat, 5);

/**
 * @generated from message soulfire.v1.TabSuggestion
 */
export type TabSuggestion = Message<"soulfire.v1.TabSuggestion"> & {
  /**
   * @generated from field: string text = 1;
   */
  text: string;

  /**
   * @generated from field: optional string tooltip_json = 2;
   */
  tooltipJson?: string | undefined;
};

/**
 * Describes the message soulfire.v1.TabSuggestion.
 * Use `create(TabSuggestionSchema)` to create a new message.
 */
export const TabSuggestionSchema: GenMessage<TabSuggestion> = /*@__PURE__*/
  messageDesc(file_soulfire_chat, 6);

/**
 * @generated from message soulfire.v1.TabCompleteResponse
 */
export type TabCompleteResponse = Message<"soulfire.v1.TabCompleteResponse"> & {
  /**
   * @generated from field: int32 start = 1;
   */
  start: number;

  /**
   * @generated from field: int32 length = 2;
   */
  length: number;

  /**
   * @generated from field: repeated soulfire.v1.TabSuggestion suggestions = 3;
   */
  suggestions: TabSuggestion[];
};

/**
 * Describes the message soulfire.v1.TabCompleteResponse.
 * Use `create(TabCompleteResponseSchema)` to create a new message.
 */
export const TabCompleteResponseSchema: GenMessage<TabCompleteResponse> = /*@__PURE__*/
  messageDesc(file_soulfire_chat, 7);

/**
 * @generated from service soulfire.v1.ChatService
 */
export const ChatService: GenService<{
  /**
   * @generated from rpc soulfire.v1.ChatService.SendPublicChat
   */
  sendPublicChat: {
    methodKind: "unary";
    input: typeof SendPublicChatRequestSchema;
    output: typeof ChatActionResponseSchema;
  },
  /**
   * @generated from rpc soulfire.v1.ChatService.SendCommand
   */
  sendCommand: {
    methodKind: "unary";
    input: typeof SendCommandRequestSchema;
    output: typeof ChatActionResponseSchema;
  },
  /**
   * @generated from rpc soulfire.v1.ChatService.SendWhisper
   */
  sendWhisper: {
    methodKind: "unary";
    input: typeof SendWhisperRequestSchema;
    output: typeof ChatActionResponseSchema;
  },
  /**
   * @generated from rpc soulfire.v1.ChatService.TabComplete
   */
  tabComplete: {
    methodKind: "unary";
    input: typeof TabCompleteRequestSchema;
    output: typeof TabCompleteResponseSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_soulfire_chat, 0);
