// Copyright 2025 LiveKit, Inc.
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

// @generated by protoc-gen-es v1.10.1 with parameter "target=dts+js"
// @generated from file livekit_connector_whatsapp.proto (package livekit, syntax proto3)
/* eslint-disable */
// @ts-nocheck

import { Duration, proto3 } from "@bufbuild/protobuf";
import { RoomAgentDispatch } from "./livekit_agent_dispatch_pb.js";
import { SessionDescription } from "./livekit_rtc_pb.js";

/**
 * @generated from enum livekit.WhatsAppCallDirection
 */
export const WhatsAppCallDirection = /*@__PURE__*/ proto3.makeEnum(
  "livekit.WhatsAppCallDirection",
  [
    {no: 0, name: "WHATSAPP_CALL_DIRECTION_INBOUND"},
    {no: 2, name: "WHATSAPP_CALL_DIRECTION_OUTBOUND"},
  ],
);

/**
 * @generated from message livekit.DialWhatsAppCallRequest
 */
export const DialWhatsAppCallRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.DialWhatsAppCallRequest",
  () => [
    { no: 1, name: "whatsapp_phone_number_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "whatsapp_to_phone_number", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "whatsapp_api_key", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 12, name: "whatsapp_cloud_api_version", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "whatsapp_biz_opaque_callback_data", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 5, name: "room_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 6, name: "agents", kind: "message", T: RoomAgentDispatch, repeated: true },
    { no: 7, name: "participant_identity", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 8, name: "participant_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 9, name: "participant_metadata", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 10, name: "participant_attributes", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
    { no: 11, name: "destination_country", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 13, name: "ringing_timeout", kind: "message", T: Duration },
  ],
);

/**
 * @generated from message livekit.DialWhatsAppCallResponse
 */
export const DialWhatsAppCallResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.DialWhatsAppCallResponse",
  () => [
    { no: 1, name: "whatsapp_call_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "room_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ],
);

/**
 * @generated from message livekit.DisconnectWhatsAppCallRequest
 */
export const DisconnectWhatsAppCallRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.DisconnectWhatsAppCallRequest",
  () => [
    { no: 1, name: "whatsapp_call_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "whatsapp_api_key", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "disconnect_reason", kind: "enum", T: proto3.getEnumType(DisconnectWhatsAppCallRequest_DisconnectReason) },
  ],
);

/**
 * @generated from enum livekit.DisconnectWhatsAppCallRequest.DisconnectReason
 */
export const DisconnectWhatsAppCallRequest_DisconnectReason = /*@__PURE__*/ proto3.makeEnum(
  "livekit.DisconnectWhatsAppCallRequest.DisconnectReason",
  [
    {no: 0, name: "BUSINESS_INITIATED"},
    {no: 1, name: "USER_INITIATED"},
  ],
);

/**
 * @generated from message livekit.DisconnectWhatsAppCallResponse
 */
export const DisconnectWhatsAppCallResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.DisconnectWhatsAppCallResponse",
  [],
);

/**
 * @generated from message livekit.ConnectWhatsAppCallRequest
 */
export const ConnectWhatsAppCallRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.ConnectWhatsAppCallRequest",
  () => [
    { no: 1, name: "whatsapp_call_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "sdp", kind: "message", T: SessionDescription },
    { no: 3, name: "wait_until_answered", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
  ],
);

/**
 * @generated from message livekit.ConnectWhatsAppCallResponse
 */
export const ConnectWhatsAppCallResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.ConnectWhatsAppCallResponse",
  [],
);

/**
 * @generated from message livekit.AcceptWhatsAppCallRequest
 */
export const AcceptWhatsAppCallRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.AcceptWhatsAppCallRequest",
  () => [
    { no: 1, name: "whatsapp_phone_number_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "whatsapp_api_key", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 13, name: "whatsapp_cloud_api_version", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "whatsapp_call_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "whatsapp_biz_opaque_callback_data", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 5, name: "sdp", kind: "message", T: SessionDescription },
    { no: 6, name: "room_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 7, name: "agents", kind: "message", T: RoomAgentDispatch, repeated: true },
    { no: 8, name: "participant_identity", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 9, name: "participant_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 10, name: "participant_metadata", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 11, name: "participant_attributes", kind: "map", K: 9 /* ScalarType.STRING */, V: {kind: "scalar", T: 9 /* ScalarType.STRING */} },
    { no: 12, name: "destination_country", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 14, name: "ringing_timeout", kind: "message", T: Duration },
    { no: 15, name: "wait_until_answered", kind: "scalar", T: 8 /* ScalarType.BOOL */ },
  ],
);

/**
 * @generated from message livekit.AcceptWhatsAppCallResponse
 */
export const AcceptWhatsAppCallResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.AcceptWhatsAppCallResponse",
  () => [
    { no: 1, name: "room_name", kind: "scalar", T: 9 /* ScalarType.STRING */ },
  ],
);

/**
 * @generated from message livekit.WhatsAppCall
 */
export const WhatsAppCall = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.WhatsAppCall",
  () => [
    { no: 1, name: "whatsapp_call_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "direction", kind: "enum", T: proto3.getEnumType(WhatsAppCallDirection) },
  ],
);

