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

import { proto3, Timestamp } from "@bufbuild/protobuf";
import { TokenPagination } from "./livekit_models_pb.js";

/**
 * Phone number status enumeration
 *
 * @generated from enum livekit.PhoneNumberStatus
 */
export const PhoneNumberStatus = /*@__PURE__*/ proto3.makeEnum(
  "livekit.PhoneNumberStatus",
  [
    {no: 0, name: "PHONE_NUMBER_STATUS_UNSPECIFIED", localName: "UNSPECIFIED"},
    {no: 1, name: "PHONE_NUMBER_STATUS_ACTIVE", localName: "ACTIVE"},
    {no: 2, name: "PHONE_NUMBER_STATUS_PENDING", localName: "PENDING"},
    {no: 3, name: "PHONE_NUMBER_STATUS_RELEASED", localName: "RELEASED"},
    {no: 4, name: "PHONE_NUMBER_STATUS_OFFLINE", localName: "OFFLINE"},
  ],
);

/**
 * Phone number type enumeration
 *
 * @generated from enum livekit.PhoneNumberType
 */
export const PhoneNumberType = /*@__PURE__*/ proto3.makeEnum(
  "livekit.PhoneNumberType",
  [
    {no: 0, name: "PHONE_NUMBER_TYPE_UNKNOWN", localName: "UNKNOWN"},
    {no: 1, name: "PHONE_NUMBER_TYPE_MOBILE", localName: "MOBILE"},
    {no: 2, name: "PHONE_NUMBER_TYPE_LOCAL", localName: "LOCAL"},
    {no: 3, name: "PHONE_NUMBER_TYPE_TOLL_FREE", localName: "TOLL_FREE"},
  ],
);

/**
 * SearchPhoneNumbersRequest - Request to search available phone numbers
 *
 * @generated from message livekit.SearchPhoneNumbersRequest
 */
export const SearchPhoneNumbersRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.SearchPhoneNumbersRequest",
  () => [
    { no: 1, name: "country_code", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "area_code", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    { no: 3, name: "limit", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
    { no: 4, name: "page_token", kind: "message", T: TokenPagination, opt: true },
  ],
);

/**
 * SearchPhoneNumbersResponse - Response containing available phone numbers
 *
 * @generated from message livekit.SearchPhoneNumbersResponse
 */
export const SearchPhoneNumbersResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.SearchPhoneNumbersResponse",
  () => [
    { no: 1, name: "items", kind: "message", T: PhoneNumber, repeated: true },
    { no: 2, name: "next_page_token", kind: "message", T: TokenPagination },
  ],
);

/**
 * PurchasePhoneNumberRequest - Request to purchase phone numbers
 *
 * @generated from message livekit.PurchasePhoneNumberRequest
 */
export const PurchasePhoneNumberRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.PurchasePhoneNumberRequest",
  () => [
    { no: 1, name: "phone_numbers", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 2, name: "sip_dispatch_rule_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
  ],
);

/**
 * PurchasePhoneNumberResponse - Response containing the purchased phone numbers
 *
 * @generated from message livekit.PurchasePhoneNumberResponse
 */
export const PurchasePhoneNumberResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.PurchasePhoneNumberResponse",
  () => [
    { no: 1, name: "phone_numbers", kind: "message", T: PhoneNumber, repeated: true },
  ],
);

/**
 * ListPhoneNumbersRequest - Request to list phone numbers
 *
 * @generated from message livekit.ListPhoneNumbersRequest
 */
export const ListPhoneNumbersRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.ListPhoneNumbersRequest",
  () => [
    { no: 1, name: "limit", kind: "scalar", T: 5 /* ScalarType.INT32 */, opt: true },
    { no: 2, name: "statuses", kind: "enum", T: proto3.getEnumType(PhoneNumberStatus), repeated: true },
    { no: 3, name: "page_token", kind: "message", T: TokenPagination, opt: true },
    { no: 4, name: "sip_dispatch_rule_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
  ],
);

/**
 * ListPhoneNumbersResponse - Response containing phone numbers
 *
 * @generated from message livekit.ListPhoneNumbersResponse
 */
export const ListPhoneNumbersResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.ListPhoneNumbersResponse",
  () => [
    { no: 1, name: "items", kind: "message", T: PhoneNumber, repeated: true },
    { no: 2, name: "next_page_token", kind: "message", T: TokenPagination },
    { no: 3, name: "total_count", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
    { no: 4, name: "offline_count", kind: "scalar", T: 5 /* ScalarType.INT32 */ },
  ],
);

/**
 * GetPhoneNumberRequest - Request to get a phone number
 *
 * @generated from message livekit.GetPhoneNumberRequest
 */
export const GetPhoneNumberRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.GetPhoneNumberRequest",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    { no: 2, name: "phone_number", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
  ],
);

/**
 * GetPhoneNumberResponse - Response containing the phone number
 *
 * @generated from message livekit.GetPhoneNumberResponse
 */
export const GetPhoneNumberResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.GetPhoneNumberResponse",
  () => [
    { no: 1, name: "phone_number", kind: "message", T: PhoneNumber },
  ],
);

/**
 * UpdatePhoneNumberRequest - Request to update a phone number
 *
 * @generated from message livekit.UpdatePhoneNumberRequest
 */
export const UpdatePhoneNumberRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.UpdatePhoneNumberRequest",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    { no: 2, name: "phone_number", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
    { no: 3, name: "sip_dispatch_rule_id", kind: "scalar", T: 9 /* ScalarType.STRING */, opt: true },
  ],
);

/**
 * UpdatePhoneNumberResponse - Response containing the updated phone number
 *
 * @generated from message livekit.UpdatePhoneNumberResponse
 */
export const UpdatePhoneNumberResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.UpdatePhoneNumberResponse",
  () => [
    { no: 1, name: "phone_number", kind: "message", T: PhoneNumber },
  ],
);

/**
 * ReleasePhoneNumbersRequest - Request to release phone numbers
 *
 * @generated from message livekit.ReleasePhoneNumbersRequest
 */
export const ReleasePhoneNumbersRequest = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.ReleasePhoneNumbersRequest",
  () => [
    { no: 1, name: "ids", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 2, name: "phone_numbers", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
  ],
);

/**
 * ReleasePhoneNumbersResponse - Response for releasing phone numbers
 *
 * Empty response - operation completed successfully
 *
 * @generated from message livekit.ReleasePhoneNumbersResponse
 */
export const ReleasePhoneNumbersResponse = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.ReleasePhoneNumbersResponse",
  [],
);

/**
 * PhoneNumber - Unified phone number type for inventory and purchased numbers
 *
 * @generated from message livekit.PhoneNumber
 */
export const PhoneNumber = /*@__PURE__*/ proto3.makeMessageType(
  "livekit.PhoneNumber",
  () => [
    { no: 1, name: "id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 2, name: "e164_format", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 3, name: "country_code", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 4, name: "area_code", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 5, name: "number_type", kind: "enum", T: proto3.getEnumType(PhoneNumberType) },
    { no: 6, name: "locality", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 7, name: "region", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 8, name: "spam_score", kind: "scalar", T: 1 /* ScalarType.DOUBLE */ },
    { no: 9, name: "created_at", kind: "message", T: Timestamp },
    { no: 10, name: "updated_at", kind: "message", T: Timestamp },
    { no: 11, name: "capabilities", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
    { no: 12, name: "status", kind: "enum", T: proto3.getEnumType(PhoneNumberStatus) },
    { no: 13, name: "assigned_at", kind: "message", T: Timestamp },
    { no: 14, name: "released_at", kind: "message", T: Timestamp },
    { no: 15, name: "sip_dispatch_rule_id", kind: "scalar", T: 9 /* ScalarType.STRING */ },
    { no: 16, name: "sip_dispatch_rule_ids", kind: "scalar", T: 9 /* ScalarType.STRING */, repeated: true },
  ],
);

