// @generated by protoc-gen-es v2.12.1 with parameter "target=ts"
// @generated from file api/v1/ai_service.proto (package memos.api.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";
import { file_google_api_client } from "../../google/api/client_pb";
import { file_google_api_field_behavior } from "../../google/api/field_behavior_pb";
import type { Message } from "@bufbuild/protobuf";

/**
 * Describes the file api/v1/ai_service.proto.
 */
export const file_api_v1_ai_service: GenFile = /*@__PURE__*/
  fileDesc("ChdhcGkvdjEvYWlfc2VydmljZS5wcm90bxIMbWVtb3MuYXBpLnYxIkkKEVRyYW5zY3JpYmVSZXF1ZXN0EjQKBWF1ZGlvGAEgASgLMiAubWVtb3MuYXBpLnYxLlRyYW5zY3JpcHRpb25BdWRpb0ID4EECIncKElRyYW5zY3JpcHRpb25BdWRpbxIWCgdjb250ZW50GAEgASgMQgPgQQRIABINCgN1cmkYAiABKAlIABIVCghmaWxlbmFtZRgDIAEoCUID4EEBEhkKDGNvbnRlbnRfdHlwZRgEIAEoCUID4EEBQggKBnNvdXJjZSIiChJUcmFuc2NyaWJlUmVzcG9uc2USDAoEdGV4dBgBIAEoCTKGAQoJQUlTZXJ2aWNlEnkKClRyYW5zY3JpYmUSHy5tZW1vcy5hcGkudjEuVHJhbnNjcmliZVJlcXVlc3QaIC5tZW1vcy5hcGkudjEuVHJhbnNjcmliZVJlc3BvbnNlIijaQQVhdWRpb4LT5JMCGjoBKiIVL2FwaS92MS9haTp0cmFuc2NyaWJlQqYBChBjb20ubWVtb3MuYXBpLnYxQg5BaVNlcnZpY2VQcm90b1ABWjBnaXRodWIuY29tL3VzZW1lbW9zL21lbW9zL3Byb3RvL2dlbi9hcGkvdjE7YXBpdjGiAgNNQViqAgxNZW1vcy5BcGkuVjHKAgxNZW1vc1xBcGlcVjHiAhhNZW1vc1xBcGlcVjFcR1BCTWV0YWRhdGHqAg5NZW1vczo6QXBpOjpWMWIGcHJvdG8z", [file_google_api_annotations, file_google_api_client, file_google_api_field_behavior]);

/**
 * @generated from message memos.api.v1.TranscribeRequest
 */
export type TranscribeRequest = Message<"memos.api.v1.TranscribeRequest"> & {
  /**
   * Required. Audio input.
   *
   * @generated from field: memos.api.v1.TranscriptionAudio audio = 1;
   */
  audio?: TranscriptionAudio | undefined;
};

/**
 * Describes the message memos.api.v1.TranscribeRequest.
 * Use `create(TranscribeRequestSchema)` to create a new message.
 */
export const TranscribeRequestSchema: GenMessage<TranscribeRequest> = /*@__PURE__*/
  messageDesc(file_api_v1_ai_service, 0);

/**
 * @generated from message memos.api.v1.TranscriptionAudio
 */
export type TranscriptionAudio = Message<"memos.api.v1.TranscriptionAudio"> & {
  /**
   * @generated from oneof memos.api.v1.TranscriptionAudio.source
   */
  source: {
    /**
     * Inline audio bytes.
     *
     * @generated from field: bytes content = 1;
     */
    value: Uint8Array;
    case: "content";
  } | {
    /**
     * URI for audio content. Reserved for future use.
     *
     * @generated from field: string uri = 2;
     */
    value: string;
    case: "uri";
  } | { case: undefined; value?: undefined };

  /**
   * Optional. The uploaded filename.
   *
   * @generated from field: string filename = 3;
   */
  filename: string;

  /**
   * Optional. The MIME type of the input audio.
   *
   * @generated from field: string content_type = 4;
   */
  contentType: string;
};

/**
 * Describes the message memos.api.v1.TranscriptionAudio.
 * Use `create(TranscriptionAudioSchema)` to create a new message.
 */
export const TranscriptionAudioSchema: GenMessage<TranscriptionAudio> = /*@__PURE__*/
  messageDesc(file_api_v1_ai_service, 1);

/**
 * @generated from message memos.api.v1.TranscribeResponse
 */
export type TranscribeResponse = Message<"memos.api.v1.TranscribeResponse"> & {
  /**
   * The transcribed text.
   *
   * @generated from field: string text = 1;
   */
  text: string;
};

/**
 * Describes the message memos.api.v1.TranscribeResponse.
 * Use `create(TranscribeResponseSchema)` to create a new message.
 */
export const TranscribeResponseSchema: GenMessage<TranscribeResponse> = /*@__PURE__*/
  messageDesc(file_api_v1_ai_service, 2);

/**
 * @generated from service memos.api.v1.AIService
 */
export const AIService: GenService<{
  /**
   * Transcribe transcribes an audio file using an instance AI provider.
   *
   * @generated from rpc memos.api.v1.AIService.Transcribe
   */
  transcribe: {
    methodKind: "unary";
    input: typeof TranscribeRequestSchema;
    output: typeof TranscribeResponseSchema;
  },
}> = /*@__PURE__*/
  serviceDesc(file_api_v1_ai_service, 0);

