// Copyright 2026 Google LLC
//
// 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.

// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v4.25.7
// source: google/cloud/dialogflow/cx/v3beta1/conversation_history.proto

package cxpb

import (
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"

	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	durationpb "google.golang.org/protobuf/types/known/durationpb"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	timestamppb "google.golang.org/protobuf/types/known/timestamppb"
)

const (
	// Verify that this generated code is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(20 - protoimpl.MinVersion)
	// Verify that runtime/protoimpl is sufficiently up-to-date.
	_ = protoimpl.EnforceVersion(protoimpl.MaxVersion - 20)
)

// Represents the type of a conversation.
type Conversation_Type int32

const (
	// Not specified. This value should never be used.
	Conversation_TYPE_UNSPECIFIED Conversation_Type = 0
	// Audio conversation. A conversation is classified as an audio conversation
	// if any request has STT input audio or any response has TTS output audio.
	Conversation_AUDIO Conversation_Type = 1
	// Text conversation. A conversation is classified as a text conversation
	// if any request has text input and no request has STT input audio and no
	// response has TTS output audio.
	Conversation_TEXT Conversation_Type = 2
	// Default conversation type for a conversation. A conversation is
	// classified as undetermined if none of the requests contain text or audio
	// input (eg. event or intent input).
	Conversation_UNDETERMINED Conversation_Type = 3
)

// Enum value maps for Conversation_Type.
var (
	Conversation_Type_name = map[int32]string{
		0: "TYPE_UNSPECIFIED",
		1: "AUDIO",
		2: "TEXT",
		3: "UNDETERMINED",
	}
	Conversation_Type_value = map[string]int32{
		"TYPE_UNSPECIFIED": 0,
		"AUDIO":            1,
		"TEXT":             2,
		"UNDETERMINED":     3,
	}
)

func (x Conversation_Type) Enum() *Conversation_Type {
	p := new(Conversation_Type)
	*p = x
	return p
}

func (x Conversation_Type) String() string {
	return protoimpl.X.EnumStringOf(x.Descriptor(), protoreflect.EnumNumber(x))
}

func (Conversation_Type) Descriptor() protoreflect.EnumDescriptor {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_enumTypes[0].Descriptor()
}

func (Conversation_Type) Type() protoreflect.EnumType {
	return &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_enumTypes[0]
}

func (x Conversation_Type) Number() protoreflect.EnumNumber {
	return protoreflect.EnumNumber(x)
}

// Deprecated: Use Conversation_Type.Descriptor instead.
func (Conversation_Type) EnumDescriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{4, 0}
}

// The request message for [Conversations.GetConversation][].
type GetConversationRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the conversation.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/conversations/<ConversationID>`.
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *GetConversationRequest) Reset() {
	*x = GetConversationRequest{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[0]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *GetConversationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*GetConversationRequest) ProtoMessage() {}

func (x *GetConversationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[0]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use GetConversationRequest.ProtoReflect.Descriptor instead.
func (*GetConversationRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{0}
}

func (x *GetConversationRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// The request message for [Conversations.DeleteConversation][].
type DeleteConversationRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the conversation.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/conversations/<ConversationID>`.
	Name          string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *DeleteConversationRequest) Reset() {
	*x = DeleteConversationRequest{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[1]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *DeleteConversationRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*DeleteConversationRequest) ProtoMessage() {}

func (x *DeleteConversationRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[1]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use DeleteConversationRequest.ProtoReflect.Descriptor instead.
func (*DeleteConversationRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{1}
}

func (x *DeleteConversationRequest) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

// The request message for [Conversations.ListConversations][].
type ListConversationsRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The agent to list all conversations for.
	// Format: `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Optional. The filter string. Supports filter by create_time,
	// metrics.has_end_interaction, metrics.has_live_agent_handoff,
	// intents.display_name, pages.display_name and flows.display_name. Timestamps
	// expect an [RFC-3339][https://datatracker.ietf.org/doc/html/rfc3339]
	// formatted string (e.g. 2012-04-21T11:30:00-04:00). UTC offsets are
	// supported. Some examples:
	//  1. By create time:
	//     create_time > "2022-04-21T11:30:00-04:00"
	//  2. By intent display name:
	//     intents.display_name : "billing"
	//  3. By end interaction signal:
	//     metrics.has_end_interaction = true
	Filter string `protobuf:"bytes,2,opt,name=filter,proto3" json:"filter,omitempty"`
	// Optional. The maximum number of items to return in a single page. By
	// default 100 and at most 1000.
	PageSize int32 `protobuf:"varint,3,opt,name=page_size,json=pageSize,proto3" json:"page_size,omitempty"`
	// Optional. The next_page_token value returned from a previous list request.
	PageToken     string `protobuf:"bytes,4,opt,name=page_token,json=pageToken,proto3" json:"page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListConversationsRequest) Reset() {
	*x = ListConversationsRequest{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[2]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListConversationsRequest) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListConversationsRequest) ProtoMessage() {}

func (x *ListConversationsRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[2]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListConversationsRequest.ProtoReflect.Descriptor instead.
func (*ListConversationsRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{2}
}

func (x *ListConversationsRequest) GetParent() string {
	if x != nil {
		return x.Parent
	}
	return ""
}

func (x *ListConversationsRequest) GetFilter() string {
	if x != nil {
		return x.Filter
	}
	return ""
}

func (x *ListConversationsRequest) GetPageSize() int32 {
	if x != nil {
		return x.PageSize
	}
	return 0
}

func (x *ListConversationsRequest) GetPageToken() string {
	if x != nil {
		return x.PageToken
	}
	return ""
}

// The response message for [Conversations.ListConversations][].
type ListConversationsResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of conversations. There will be a maximum number of items returned
	// based on the
	// [page_size][google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest.page_size]
	// field. The returned conversations will be sorted by start_time in
	// descending order (newest conversation first).
	Conversations []*Conversation `protobuf:"bytes,1,rep,name=conversations,proto3" json:"conversations,omitempty"`
	// Token to retrieve the next page of results, or empty if there are no more
	// results in the list.
	NextPageToken string `protobuf:"bytes,2,opt,name=next_page_token,json=nextPageToken,proto3" json:"next_page_token,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *ListConversationsResponse) Reset() {
	*x = ListConversationsResponse{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[3]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *ListConversationsResponse) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*ListConversationsResponse) ProtoMessage() {}

func (x *ListConversationsResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[3]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use ListConversationsResponse.ProtoReflect.Descriptor instead.
func (*ListConversationsResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{3}
}

func (x *ListConversationsResponse) GetConversations() []*Conversation {
	if x != nil {
		return x.Conversations
	}
	return nil
}

func (x *ListConversationsResponse) GetNextPageToken() string {
	if x != nil {
		return x.NextPageToken
	}
	return ""
}

// Represents a conversation.
type Conversation struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Identifier. The identifier of the conversation.
	// If conversation ID is reused, interactions happened later than 48 hours of
	// the conversation's create time will be ignored. Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/conversations/<ConversationID>`
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The type of the conversation.
	Type Conversation_Type `protobuf:"varint,2,opt,name=type,proto3,enum=google.cloud.dialogflow.cx.v3beta1.Conversation_Type" json:"type,omitempty"`
	// The language of the conversation, which is the language of the first
	// request in the conversation.
	LanguageCode string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// Start time of the conversation, which is the time of the first request of
	// the conversation.
	StartTime *timestamppb.Timestamp `protobuf:"bytes,4,opt,name=start_time,json=startTime,proto3" json:"start_time,omitempty"`
	// Duration of the conversation.
	Duration *durationpb.Duration `protobuf:"bytes,5,opt,name=duration,proto3" json:"duration,omitempty"`
	// Conversation metrics.
	Metrics *Conversation_Metrics `protobuf:"bytes,6,opt,name=metrics,proto3" json:"metrics,omitempty"`
	// All the matched [Intent][google.cloud.dialogflow.cx.v3beta1.Intent] in the
	// conversation. Only `name` and `display_name` are filled in this message.
	Intents []*Intent `protobuf:"bytes,7,rep,name=intents,proto3" json:"intents,omitempty"`
	// All the [Flow][google.cloud.dialogflow.cx.v3beta1.Flow] the conversation
	// has went through. Only `name` and `display_name` are filled in this
	// message.
	Flows []*Flow `protobuf:"bytes,8,rep,name=flows,proto3" json:"flows,omitempty"`
	// All the [Page][google.cloud.dialogflow.cx.v3beta1.Page] the conversation
	// has went through. Only `name` and `display_name` are filled in this
	// message.
	Pages []*Page `protobuf:"bytes,9,rep,name=pages,proto3" json:"pages,omitempty"`
	// Interactions of the conversation.
	// Only populated for `GetConversation` and empty for `ListConversations`.
	Interactions []*Conversation_Interaction `protobuf:"bytes,10,rep,name=interactions,proto3" json:"interactions,omitempty"`
	// Environment of the conversation.
	// Only `name` and `display_name` are filled in this message.
	Environment *Environment `protobuf:"bytes,11,opt,name=environment,proto3" json:"environment,omitempty"`
	// Flow versions used in the conversation.
	FlowVersions  map[string]int64 `protobuf:"bytes,12,rep,name=flow_versions,json=flowVersions,proto3" json:"flow_versions,omitempty" protobuf_key:"bytes,1,opt,name=key" protobuf_val:"varint,2,opt,name=value"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Conversation) Reset() {
	*x = Conversation{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Conversation) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Conversation) ProtoMessage() {}

func (x *Conversation) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[4]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Conversation.ProtoReflect.Descriptor instead.
func (*Conversation) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{4}
}

func (x *Conversation) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Conversation) GetType() Conversation_Type {
	if x != nil {
		return x.Type
	}
	return Conversation_TYPE_UNSPECIFIED
}

func (x *Conversation) GetLanguageCode() string {
	if x != nil {
		return x.LanguageCode
	}
	return ""
}

func (x *Conversation) GetStartTime() *timestamppb.Timestamp {
	if x != nil {
		return x.StartTime
	}
	return nil
}

func (x *Conversation) GetDuration() *durationpb.Duration {
	if x != nil {
		return x.Duration
	}
	return nil
}

func (x *Conversation) GetMetrics() *Conversation_Metrics {
	if x != nil {
		return x.Metrics
	}
	return nil
}

func (x *Conversation) GetIntents() []*Intent {
	if x != nil {
		return x.Intents
	}
	return nil
}

func (x *Conversation) GetFlows() []*Flow {
	if x != nil {
		return x.Flows
	}
	return nil
}

func (x *Conversation) GetPages() []*Page {
	if x != nil {
		return x.Pages
	}
	return nil
}

func (x *Conversation) GetInteractions() []*Conversation_Interaction {
	if x != nil {
		return x.Interactions
	}
	return nil
}

func (x *Conversation) GetEnvironment() *Environment {
	if x != nil {
		return x.Environment
	}
	return nil
}

func (x *Conversation) GetFlowVersions() map[string]int64 {
	if x != nil {
		return x.FlowVersions
	}
	return nil
}

// Represents metrics for the conversation.
type Conversation_Metrics struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The number of interactions in the conversation.
	InteractionCount int32 `protobuf:"varint,1,opt,name=interaction_count,json=interactionCount,proto3" json:"interaction_count,omitempty"`
	// Duration of all the input's audio in the conversation.
	InputAudioDuration *durationpb.Duration `protobuf:"bytes,2,opt,name=input_audio_duration,json=inputAudioDuration,proto3" json:"input_audio_duration,omitempty"`
	// Duration of all the output's audio in the conversation.
	OutputAudioDuration *durationpb.Duration `protobuf:"bytes,3,opt,name=output_audio_duration,json=outputAudioDuration,proto3" json:"output_audio_duration,omitempty"`
	// Maximum latency of the
	// [Webhook][google.cloud.dialogflow.cx.v3beta1.Webhook] calls in the
	// conversation.
	MaxWebhookLatency *durationpb.Duration `protobuf:"bytes,4,opt,name=max_webhook_latency,json=maxWebhookLatency,proto3" json:"max_webhook_latency,omitempty"`
	// A signal that indicates the interaction with the Dialogflow agent has
	// ended.
	// If any response has the
	// [ResponseMessage.end_interaction][google.cloud.dialogflow.cx.v3beta1.ResponseMessage.end_interaction]
	// signal, this is set to true.
	HasEndInteraction bool `protobuf:"varint,5,opt,name=has_end_interaction,json=hasEndInteraction,proto3" json:"has_end_interaction,omitempty"`
	// Hands off conversation to a human agent.
	// If any response has the
	// [ResponseMessage.live_agent_handoff][google.cloud.dialogflow.cx.v3beta1.ResponseMessage.live_agent_handoff]signal,
	// this is set to true.
	HasLiveAgentHandoff bool `protobuf:"varint,6,opt,name=has_live_agent_handoff,json=hasLiveAgentHandoff,proto3" json:"has_live_agent_handoff,omitempty"`
	// The average confidence all of the
	// [Match][google.cloud.dialogflow.cx.v3beta1.Match] in the conversation.
	// Values range from 0.0 (completely uncertain) to 1.0 (completely certain).
	AverageMatchConfidence float32 `protobuf:"fixed32,7,opt,name=average_match_confidence,json=averageMatchConfidence,proto3" json:"average_match_confidence,omitempty"`
	// Query input counts.
	QueryInputCount *Conversation_Metrics_QueryInputCount `protobuf:"bytes,8,opt,name=query_input_count,json=queryInputCount,proto3" json:"query_input_count,omitempty"`
	// Match type counts.
	MatchTypeCount *Conversation_Metrics_MatchTypeCount `protobuf:"bytes,9,opt,name=match_type_count,json=matchTypeCount,proto3" json:"match_type_count,omitempty"`
	unknownFields  protoimpl.UnknownFields
	sizeCache      protoimpl.SizeCache
}

func (x *Conversation_Metrics) Reset() {
	*x = Conversation_Metrics{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Conversation_Metrics) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Conversation_Metrics) ProtoMessage() {}

func (x *Conversation_Metrics) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[5]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Conversation_Metrics.ProtoReflect.Descriptor instead.
func (*Conversation_Metrics) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{4, 0}
}

func (x *Conversation_Metrics) GetInteractionCount() int32 {
	if x != nil {
		return x.InteractionCount
	}
	return 0
}

func (x *Conversation_Metrics) GetInputAudioDuration() *durationpb.Duration {
	if x != nil {
		return x.InputAudioDuration
	}
	return nil
}

func (x *Conversation_Metrics) GetOutputAudioDuration() *durationpb.Duration {
	if x != nil {
		return x.OutputAudioDuration
	}
	return nil
}

func (x *Conversation_Metrics) GetMaxWebhookLatency() *durationpb.Duration {
	if x != nil {
		return x.MaxWebhookLatency
	}
	return nil
}

func (x *Conversation_Metrics) GetHasEndInteraction() bool {
	if x != nil {
		return x.HasEndInteraction
	}
	return false
}

func (x *Conversation_Metrics) GetHasLiveAgentHandoff() bool {
	if x != nil {
		return x.HasLiveAgentHandoff
	}
	return false
}

func (x *Conversation_Metrics) GetAverageMatchConfidence() float32 {
	if x != nil {
		return x.AverageMatchConfidence
	}
	return 0
}

func (x *Conversation_Metrics) GetQueryInputCount() *Conversation_Metrics_QueryInputCount {
	if x != nil {
		return x.QueryInputCount
	}
	return nil
}

func (x *Conversation_Metrics) GetMatchTypeCount() *Conversation_Metrics_MatchTypeCount {
	if x != nil {
		return x.MatchTypeCount
	}
	return nil
}

// Represents an interaction between an end user and a Dialogflow CX agent
// using V3 (Streaming)DetectIntent API, or an interaction between an end user
// and a Dialogflow CX agent using V2 (Streaming)AnalyzeContent API.
type Conversation_Interaction struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The request of the interaction.
	Request *DetectIntentRequest `protobuf:"bytes,1,opt,name=request,proto3" json:"request,omitempty"`
	// The final response of the interaction.
	Response *DetectIntentResponse `protobuf:"bytes,2,opt,name=response,proto3" json:"response,omitempty"`
	// The partial responses of the interaction. Empty if there is no partial
	// response in the interaction.
	// See the
	// [partial response
	// documentation][https://cloud.google.com/dialogflow/cx/docs/concept/fulfillment#queue].
	PartialResponses []*DetectIntentResponse `protobuf:"bytes,3,rep,name=partial_responses,json=partialResponses,proto3" json:"partial_responses,omitempty"`
	// The input text or the transcript of the input audio in the request.
	RequestUtterances string `protobuf:"bytes,4,opt,name=request_utterances,json=requestUtterances,proto3" json:"request_utterances,omitempty"`
	// The output text or the transcript of the output audio in the responses.
	// If multiple output messages are returned, they will be concatenated into
	// one.
	ResponseUtterances string `protobuf:"bytes,5,opt,name=response_utterances,json=responseUtterances,proto3" json:"response_utterances,omitempty"`
	// The time that the interaction was created.
	CreateTime *timestamppb.Timestamp `protobuf:"bytes,6,opt,name=create_time,json=createTime,proto3" json:"create_time,omitempty"`
	// Answer feedback for the final response.
	AnswerFeedback *AnswerFeedback `protobuf:"bytes,7,opt,name=answer_feedback,json=answerFeedback,proto3" json:"answer_feedback,omitempty"`
	// Missing transition predicted for the interaction. This field is set only
	// if the interaction match type was no-match.
	MissingTransition *Conversation_Interaction_MissingTransition `protobuf:"bytes,8,opt,name=missing_transition,json=missingTransition,proto3" json:"missing_transition,omitempty"`
	// Metrics associated with different processing steps. Names and number of
	// steps depend on the request and can change without a notice.
	StepMetrics   []*Conversation_Interaction_StepMetrics `protobuf:"bytes,9,rep,name=step_metrics,json=stepMetrics,proto3" json:"step_metrics,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Conversation_Interaction) Reset() {
	*x = Conversation_Interaction{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[6]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Conversation_Interaction) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Conversation_Interaction) ProtoMessage() {}

func (x *Conversation_Interaction) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[6]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Conversation_Interaction.ProtoReflect.Descriptor instead.
func (*Conversation_Interaction) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{4, 1}
}

func (x *Conversation_Interaction) GetRequest() *DetectIntentRequest {
	if x != nil {
		return x.Request
	}
	return nil
}

func (x *Conversation_Interaction) GetResponse() *DetectIntentResponse {
	if x != nil {
		return x.Response
	}
	return nil
}

func (x *Conversation_Interaction) GetPartialResponses() []*DetectIntentResponse {
	if x != nil {
		return x.PartialResponses
	}
	return nil
}

func (x *Conversation_Interaction) GetRequestUtterances() string {
	if x != nil {
		return x.RequestUtterances
	}
	return ""
}

func (x *Conversation_Interaction) GetResponseUtterances() string {
	if x != nil {
		return x.ResponseUtterances
	}
	return ""
}

func (x *Conversation_Interaction) GetCreateTime() *timestamppb.Timestamp {
	if x != nil {
		return x.CreateTime
	}
	return nil
}

func (x *Conversation_Interaction) GetAnswerFeedback() *AnswerFeedback {
	if x != nil {
		return x.AnswerFeedback
	}
	return nil
}

func (x *Conversation_Interaction) GetMissingTransition() *Conversation_Interaction_MissingTransition {
	if x != nil {
		return x.MissingTransition
	}
	return nil
}

func (x *Conversation_Interaction) GetStepMetrics() []*Conversation_Interaction_StepMetrics {
	if x != nil {
		return x.StepMetrics
	}
	return nil
}

// Count by types of
// [QueryInput][google.cloud.dialogflow.cx.v3beta1.QueryInput] of the
// requests in the conversation.
type Conversation_Metrics_QueryInputCount struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The number of [TextInput][google.cloud.dialogflow.cx.v3beta1.TextInput]
	// in the conversation.
	TextCount int32 `protobuf:"varint,1,opt,name=text_count,json=textCount,proto3" json:"text_count,omitempty"`
	// The number of
	// [IntentInput][google.cloud.dialogflow.cx.v3beta1.IntentInput] in the
	// conversation.
	IntentCount int32 `protobuf:"varint,2,opt,name=intent_count,json=intentCount,proto3" json:"intent_count,omitempty"`
	// The number of
	// [AudioInput][google.cloud.dialogflow.cx.v3beta1.AudioInput] in the
	// conversation.
	AudioCount int32 `protobuf:"varint,3,opt,name=audio_count,json=audioCount,proto3" json:"audio_count,omitempty"`
	// The number of
	// [EventInput][google.cloud.dialogflow.cx.v3beta1.EventInput] in the
	// conversation.
	EventCount int32 `protobuf:"varint,4,opt,name=event_count,json=eventCount,proto3" json:"event_count,omitempty"`
	// The number of [DtmfInput][google.cloud.dialogflow.cx.v3beta1.DtmfInput]
	// in the conversation.
	DtmfCount     int32 `protobuf:"varint,5,opt,name=dtmf_count,json=dtmfCount,proto3" json:"dtmf_count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Conversation_Metrics_QueryInputCount) Reset() {
	*x = Conversation_Metrics_QueryInputCount{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[8]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Conversation_Metrics_QueryInputCount) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Conversation_Metrics_QueryInputCount) ProtoMessage() {}

func (x *Conversation_Metrics_QueryInputCount) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[8]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Conversation_Metrics_QueryInputCount.ProtoReflect.Descriptor instead.
func (*Conversation_Metrics_QueryInputCount) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{4, 0, 0}
}

func (x *Conversation_Metrics_QueryInputCount) GetTextCount() int32 {
	if x != nil {
		return x.TextCount
	}
	return 0
}

func (x *Conversation_Metrics_QueryInputCount) GetIntentCount() int32 {
	if x != nil {
		return x.IntentCount
	}
	return 0
}

func (x *Conversation_Metrics_QueryInputCount) GetAudioCount() int32 {
	if x != nil {
		return x.AudioCount
	}
	return 0
}

func (x *Conversation_Metrics_QueryInputCount) GetEventCount() int32 {
	if x != nil {
		return x.EventCount
	}
	return 0
}

func (x *Conversation_Metrics_QueryInputCount) GetDtmfCount() int32 {
	if x != nil {
		return x.DtmfCount
	}
	return 0
}

// Count by
// [Match.MatchType][google.cloud.dialogflow.cx.v3beta1.Match.MatchType] of
// the matches in the conversation.
type Conversation_Metrics_MatchTypeCount struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The number of matches with type
	// [Match.MatchType.MATCH_TYPE_UNSPECIFIED][google.cloud.dialogflow.cx.v3beta1.Match.MatchType.MATCH_TYPE_UNSPECIFIED].
	UnspecifiedCount int32 `protobuf:"varint,1,opt,name=unspecified_count,json=unspecifiedCount,proto3" json:"unspecified_count,omitempty"`
	// The number of matches with type
	// [Match.MatchType.INTENT][google.cloud.dialogflow.cx.v3beta1.Match.MatchType.INTENT].
	IntentCount int32 `protobuf:"varint,2,opt,name=intent_count,json=intentCount,proto3" json:"intent_count,omitempty"`
	// The number of matches with type
	// [Match.MatchType.DIRECT_INTENT][google.cloud.dialogflow.cx.v3beta1.Match.MatchType.DIRECT_INTENT].
	DirectIntentCount int32 `protobuf:"varint,3,opt,name=direct_intent_count,json=directIntentCount,proto3" json:"direct_intent_count,omitempty"`
	// The number of matches with type
	// [Match.MatchType.PARAMETER_FILLING][google.cloud.dialogflow.cx.v3beta1.Match.MatchType.PARAMETER_FILLING].
	ParameterFillingCount int32 `protobuf:"varint,4,opt,name=parameter_filling_count,json=parameterFillingCount,proto3" json:"parameter_filling_count,omitempty"`
	// The number of matches with type
	// [Match.MatchType.NO_MATCH][google.cloud.dialogflow.cx.v3beta1.Match.MatchType.NO_MATCH].
	NoMatchCount int32 `protobuf:"varint,5,opt,name=no_match_count,json=noMatchCount,proto3" json:"no_match_count,omitempty"`
	// The number of matches with type
	// [Match.MatchType.NO_INPUT][google.cloud.dialogflow.cx.v3beta1.Match.MatchType.NO_INPUT].
	NoInputCount int32 `protobuf:"varint,6,opt,name=no_input_count,json=noInputCount,proto3" json:"no_input_count,omitempty"`
	// The number of matches with type
	// [Match.MatchType.EVENT][google.cloud.dialogflow.cx.v3beta1.Match.MatchType.EVENT].
	EventCount    int32 `protobuf:"varint,7,opt,name=event_count,json=eventCount,proto3" json:"event_count,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Conversation_Metrics_MatchTypeCount) Reset() {
	*x = Conversation_Metrics_MatchTypeCount{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[9]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Conversation_Metrics_MatchTypeCount) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Conversation_Metrics_MatchTypeCount) ProtoMessage() {}

func (x *Conversation_Metrics_MatchTypeCount) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[9]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Conversation_Metrics_MatchTypeCount.ProtoReflect.Descriptor instead.
func (*Conversation_Metrics_MatchTypeCount) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{4, 0, 1}
}

func (x *Conversation_Metrics_MatchTypeCount) GetUnspecifiedCount() int32 {
	if x != nil {
		return x.UnspecifiedCount
	}
	return 0
}

func (x *Conversation_Metrics_MatchTypeCount) GetIntentCount() int32 {
	if x != nil {
		return x.IntentCount
	}
	return 0
}

func (x *Conversation_Metrics_MatchTypeCount) GetDirectIntentCount() int32 {
	if x != nil {
		return x.DirectIntentCount
	}
	return 0
}

func (x *Conversation_Metrics_MatchTypeCount) GetParameterFillingCount() int32 {
	if x != nil {
		return x.ParameterFillingCount
	}
	return 0
}

func (x *Conversation_Metrics_MatchTypeCount) GetNoMatchCount() int32 {
	if x != nil {
		return x.NoMatchCount
	}
	return 0
}

func (x *Conversation_Metrics_MatchTypeCount) GetNoInputCount() int32 {
	if x != nil {
		return x.NoInputCount
	}
	return 0
}

func (x *Conversation_Metrics_MatchTypeCount) GetEventCount() int32 {
	if x != nil {
		return x.EventCount
	}
	return 0
}

// Information collected for DF CX agents in case NLU predicted an intent
// that was filtered out as being inactive which may indicate a missing
// transition and/or absent functionality.
type Conversation_Interaction_MissingTransition struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the intent that could have triggered.
	IntentDisplayName string `protobuf:"bytes,1,opt,name=intent_display_name,json=intentDisplayName,proto3" json:"intent_display_name,omitempty"`
	// Score of the above intent. The higher it is the more likely a
	// transition was missed on a given page.
	Score         float32 `protobuf:"fixed32,2,opt,name=score,proto3" json:"score,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Conversation_Interaction_MissingTransition) Reset() {
	*x = Conversation_Interaction_MissingTransition{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[10]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Conversation_Interaction_MissingTransition) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Conversation_Interaction_MissingTransition) ProtoMessage() {}

func (x *Conversation_Interaction_MissingTransition) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[10]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Conversation_Interaction_MissingTransition.ProtoReflect.Descriptor instead.
func (*Conversation_Interaction_MissingTransition) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{4, 1, 0}
}

func (x *Conversation_Interaction_MissingTransition) GetIntentDisplayName() string {
	if x != nil {
		return x.IntentDisplayName
	}
	return ""
}

func (x *Conversation_Interaction_MissingTransition) GetScore() float32 {
	if x != nil {
		return x.Score
	}
	return 0
}

// Metrics of each processing step.
type Conversation_Interaction_StepMetrics struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Name of the request processing step.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Processing latency of the step.
	Latency       *durationpb.Duration `protobuf:"bytes,2,opt,name=latency,proto3" json:"latency,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *Conversation_Interaction_StepMetrics) Reset() {
	*x = Conversation_Interaction_StepMetrics{}
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[11]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

func (x *Conversation_Interaction_StepMetrics) String() string {
	return protoimpl.X.MessageStringOf(x)
}

func (*Conversation_Interaction_StepMetrics) ProtoMessage() {}

func (x *Conversation_Interaction_StepMetrics) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes[11]
	if x != nil {
		ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
		if ms.LoadMessageInfo() == nil {
			ms.StoreMessageInfo(mi)
		}
		return ms
	}
	return mi.MessageOf(x)
}

// Deprecated: Use Conversation_Interaction_StepMetrics.ProtoReflect.Descriptor instead.
func (*Conversation_Interaction_StepMetrics) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP(), []int{4, 1, 1}
}

func (x *Conversation_Interaction_StepMetrics) GetName() string {
	if x != nil {
		return x.Name
	}
	return ""
}

func (x *Conversation_Interaction_StepMetrics) GetLatency() *durationpb.Duration {
	if x != nil {
		return x.Latency
	}
	return nil
}

var File_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto protoreflect.FileDescriptor

const file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDesc = "" +
	"\n" +
	"=google/cloud/dialogflow/cx/v3beta1/conversation_history.proto\x12\"google.cloud.dialogflow.cx.v3beta1\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a4google/cloud/dialogflow/cx/v3beta1/environment.proto\x1a-google/cloud/dialogflow/cx/v3beta1/flow.proto\x1a/google/cloud/dialogflow/cx/v3beta1/intent.proto\x1a-google/cloud/dialogflow/cx/v3beta1/page.proto\x1a0google/cloud/dialogflow/cx/v3beta1/session.proto\x1a\x1egoogle/protobuf/duration.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a\x1fgoogle/protobuf/timestamp.proto\"\\\n" +
	"\x16GetConversationRequest\x12B\n" +
	"\x04name\x18\x01 \x01(\tB.\xe0A\x02\xfaA(\n" +
	"&dialogflow.googleapis.com/ConversationR\x04name\"_\n" +
	"\x19DeleteConversationRequest\x12B\n" +
	"\x04name\x18\x01 \x01(\tB.\xe0A\x02\xfaA(\n" +
	"&dialogflow.googleapis.com/ConversationR\x04name\"\xc5\x01\n" +
	"\x18ListConversationsRequest\x12F\n" +
	"\x06parent\x18\x01 \x01(\tB.\xe0A\x02\xfaA(\x12&dialogflow.googleapis.com/ConversationR\x06parent\x12\x1b\n" +
	"\x06filter\x18\x02 \x01(\tB\x03\xe0A\x01R\x06filter\x12 \n" +
	"\tpage_size\x18\x03 \x01(\x05B\x03\xe0A\x01R\bpageSize\x12\"\n" +
	"\n" +
	"page_token\x18\x04 \x01(\tB\x03\xe0A\x01R\tpageToken\"\x9b\x01\n" +
	"\x19ListConversationsResponse\x12V\n" +
	"\rconversations\x18\x01 \x03(\v20.google.cloud.dialogflow.cx.v3beta1.ConversationR\rconversations\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"\xb8\x19\n" +
	"\fConversation\x12\x17\n" +
	"\x04name\x18\x01 \x01(\tB\x03\xe0A\bR\x04name\x12I\n" +
	"\x04type\x18\x02 \x01(\x0e25.google.cloud.dialogflow.cx.v3beta1.Conversation.TypeR\x04type\x12#\n" +
	"\rlanguage_code\x18\x03 \x01(\tR\flanguageCode\x129\n" +
	"\n" +
	"start_time\x18\x04 \x01(\v2\x1a.google.protobuf.TimestampR\tstartTime\x125\n" +
	"\bduration\x18\x05 \x01(\v2\x19.google.protobuf.DurationR\bduration\x12R\n" +
	"\ametrics\x18\x06 \x01(\v28.google.cloud.dialogflow.cx.v3beta1.Conversation.MetricsR\ametrics\x12D\n" +
	"\aintents\x18\a \x03(\v2*.google.cloud.dialogflow.cx.v3beta1.IntentR\aintents\x12>\n" +
	"\x05flows\x18\b \x03(\v2(.google.cloud.dialogflow.cx.v3beta1.FlowR\x05flows\x12>\n" +
	"\x05pages\x18\t \x03(\v2(.google.cloud.dialogflow.cx.v3beta1.PageR\x05pages\x12`\n" +
	"\finteractions\x18\n" +
	" \x03(\v2<.google.cloud.dialogflow.cx.v3beta1.Conversation.InteractionR\finteractions\x12Q\n" +
	"\venvironment\x18\v \x01(\v2/.google.cloud.dialogflow.cx.v3beta1.EnvironmentR\venvironment\x12g\n" +
	"\rflow_versions\x18\f \x03(\v2B.google.cloud.dialogflow.cx.v3beta1.Conversation.FlowVersionsEntryR\fflowVersions\x1a\x94\t\n" +
	"\aMetrics\x12+\n" +
	"\x11interaction_count\x18\x01 \x01(\x05R\x10interactionCount\x12K\n" +
	"\x14input_audio_duration\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\x12inputAudioDuration\x12M\n" +
	"\x15output_audio_duration\x18\x03 \x01(\v2\x19.google.protobuf.DurationR\x13outputAudioDuration\x12I\n" +
	"\x13max_webhook_latency\x18\x04 \x01(\v2\x19.google.protobuf.DurationR\x11maxWebhookLatency\x12.\n" +
	"\x13has_end_interaction\x18\x05 \x01(\bR\x11hasEndInteraction\x123\n" +
	"\x16has_live_agent_handoff\x18\x06 \x01(\bR\x13hasLiveAgentHandoff\x128\n" +
	"\x18average_match_confidence\x18\a \x01(\x02R\x16averageMatchConfidence\x12t\n" +
	"\x11query_input_count\x18\b \x01(\v2H.google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCountR\x0fqueryInputCount\x12q\n" +
	"\x10match_type_count\x18\t \x01(\v2G.google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCountR\x0ematchTypeCount\x1a\xb4\x01\n" +
	"\x0fQueryInputCount\x12\x1d\n" +
	"\n" +
	"text_count\x18\x01 \x01(\x05R\ttextCount\x12!\n" +
	"\fintent_count\x18\x02 \x01(\x05R\vintentCount\x12\x1f\n" +
	"\vaudio_count\x18\x03 \x01(\x05R\n" +
	"audioCount\x12\x1f\n" +
	"\vevent_count\x18\x04 \x01(\x05R\n" +
	"eventCount\x12\x1d\n" +
	"\n" +
	"dtmf_count\x18\x05 \x01(\x05R\tdtmfCount\x1a\xb5\x02\n" +
	"\x0eMatchTypeCount\x12+\n" +
	"\x11unspecified_count\x18\x01 \x01(\x05R\x10unspecifiedCount\x12!\n" +
	"\fintent_count\x18\x02 \x01(\x05R\vintentCount\x12.\n" +
	"\x13direct_intent_count\x18\x03 \x01(\x05R\x11directIntentCount\x126\n" +
	"\x17parameter_filling_count\x18\x04 \x01(\x05R\x15parameterFillingCount\x12$\n" +
	"\x0eno_match_count\x18\x05 \x01(\x05R\fnoMatchCount\x12$\n" +
	"\x0eno_input_count\x18\x06 \x01(\x05R\fnoInputCount\x12\x1f\n" +
	"\vevent_count\x18\a \x01(\x05R\n" +
	"eventCount\x1a\xb6\a\n" +
	"\vInteraction\x12Q\n" +
	"\arequest\x18\x01 \x01(\v27.google.cloud.dialogflow.cx.v3beta1.DetectIntentRequestR\arequest\x12T\n" +
	"\bresponse\x18\x02 \x01(\v28.google.cloud.dialogflow.cx.v3beta1.DetectIntentResponseR\bresponse\x12e\n" +
	"\x11partial_responses\x18\x03 \x03(\v28.google.cloud.dialogflow.cx.v3beta1.DetectIntentResponseR\x10partialResponses\x12-\n" +
	"\x12request_utterances\x18\x04 \x01(\tR\x11requestUtterances\x12/\n" +
	"\x13response_utterances\x18\x05 \x01(\tR\x12responseUtterances\x12;\n" +
	"\vcreate_time\x18\x06 \x01(\v2\x1a.google.protobuf.TimestampR\n" +
	"createTime\x12[\n" +
	"\x0fanswer_feedback\x18\a \x01(\v22.google.cloud.dialogflow.cx.v3beta1.AnswerFeedbackR\x0eanswerFeedback\x12}\n" +
	"\x12missing_transition\x18\b \x01(\v2N.google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransitionR\x11missingTransition\x12k\n" +
	"\fstep_metrics\x18\t \x03(\v2H.google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetricsR\vstepMetrics\x1aY\n" +
	"\x11MissingTransition\x12.\n" +
	"\x13intent_display_name\x18\x01 \x01(\tR\x11intentDisplayName\x12\x14\n" +
	"\x05score\x18\x02 \x01(\x02R\x05score\x1aV\n" +
	"\vStepMetrics\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x123\n" +
	"\alatency\x18\x02 \x01(\v2\x19.google.protobuf.DurationR\alatency\x1a?\n" +
	"\x11FlowVersionsEntry\x12\x10\n" +
	"\x03key\x18\x01 \x01(\tR\x03key\x12\x14\n" +
	"\x05value\x18\x02 \x01(\x03R\x05value:\x028\x01\"C\n" +
	"\x04Type\x12\x14\n" +
	"\x10TYPE_UNSPECIFIED\x10\x00\x12\t\n" +
	"\x05AUDIO\x10\x01\x12\b\n" +
	"\x04TEXT\x10\x02\x12\x10\n" +
	"\fUNDETERMINED\x10\x03:\x9e\x01\xeaA\x9a\x01\n" +
	"&dialogflow.googleapis.com/Conversation\x12Sprojects/{project}/locations/{location}/agents/{agent}/conversations/{conversation}*\rconversations2\fconversation2\x84\x06\n" +
	"\x13ConversationHistory\x12\xe2\x01\n" +
	"\x11ListConversations\x12<.google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest\x1a=.google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse\"P\xdaA\x06parent\x82\xd3\xe4\x93\x02A\x12?/v3beta1/{parent=projects/*/locations/*/agents/*}/conversations\x12\xcf\x01\n" +
	"\x0fGetConversation\x12:.google.cloud.dialogflow.cx.v3beta1.GetConversationRequest\x1a0.google.cloud.dialogflow.cx.v3beta1.Conversation\"N\xdaA\x04name\x82\xd3\xe4\x93\x02A\x12?/v3beta1/{name=projects/*/locations/*/agents/*/conversations/*}\x12\xbb\x01\n" +
	"\x12DeleteConversation\x12=.google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest\x1a\x16.google.protobuf.Empty\"N\xdaA\x04name\x82\xd3\xe4\x93\x02A*?/v3beta1/{name=projects/*/locations/*/agents/*/conversations/*}\x1ax\xcaA\x19dialogflow.googleapis.com\xd2AYhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dialogflowB\xcf\x01\n" +
	"&com.google.cloud.dialogflow.cx.v3beta1B\x18ConversationHistoryProtoP\x01Z6cloud.google.com/go/dialogflow/cx/apiv3beta1/cxpb;cxpb\xa2\x02\x02DF\xaa\x02\"Google.Cloud.Dialogflow.Cx.V3Beta1\xea\x02&Google::Cloud::Dialogflow::CX::V3beta1b\x06proto3"

var (
	file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescOnce sync.Once
	file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescData []byte
)

func file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescGZIP() []byte {
	file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescOnce.Do(func() {
		file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDesc), len(file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDesc)))
	})
	return file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDescData
}

var file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes = make([]protoimpl.MessageInfo, 12)
var file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_goTypes = []any{
	(Conversation_Type)(0),                             // 0: google.cloud.dialogflow.cx.v3beta1.Conversation.Type
	(*GetConversationRequest)(nil),                     // 1: google.cloud.dialogflow.cx.v3beta1.GetConversationRequest
	(*DeleteConversationRequest)(nil),                  // 2: google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest
	(*ListConversationsRequest)(nil),                   // 3: google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest
	(*ListConversationsResponse)(nil),                  // 4: google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse
	(*Conversation)(nil),                               // 5: google.cloud.dialogflow.cx.v3beta1.Conversation
	(*Conversation_Metrics)(nil),                       // 6: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics
	(*Conversation_Interaction)(nil),                   // 7: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction
	nil,                                                // 8: google.cloud.dialogflow.cx.v3beta1.Conversation.FlowVersionsEntry
	(*Conversation_Metrics_QueryInputCount)(nil),       // 9: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCount
	(*Conversation_Metrics_MatchTypeCount)(nil),        // 10: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCount
	(*Conversation_Interaction_MissingTransition)(nil), // 11: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransition
	(*Conversation_Interaction_StepMetrics)(nil),       // 12: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics
	(*timestamppb.Timestamp)(nil),                      // 13: google.protobuf.Timestamp
	(*durationpb.Duration)(nil),                        // 14: google.protobuf.Duration
	(*Intent)(nil),                                     // 15: google.cloud.dialogflow.cx.v3beta1.Intent
	(*Flow)(nil),                                       // 16: google.cloud.dialogflow.cx.v3beta1.Flow
	(*Page)(nil),                                       // 17: google.cloud.dialogflow.cx.v3beta1.Page
	(*Environment)(nil),                                // 18: google.cloud.dialogflow.cx.v3beta1.Environment
	(*DetectIntentRequest)(nil),                        // 19: google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest
	(*DetectIntentResponse)(nil),                       // 20: google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse
	(*AnswerFeedback)(nil),                             // 21: google.cloud.dialogflow.cx.v3beta1.AnswerFeedback
	(*emptypb.Empty)(nil),                              // 22: google.protobuf.Empty
}
var file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_depIdxs = []int32{
	5,  // 0: google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse.conversations:type_name -> google.cloud.dialogflow.cx.v3beta1.Conversation
	0,  // 1: google.cloud.dialogflow.cx.v3beta1.Conversation.type:type_name -> google.cloud.dialogflow.cx.v3beta1.Conversation.Type
	13, // 2: google.cloud.dialogflow.cx.v3beta1.Conversation.start_time:type_name -> google.protobuf.Timestamp
	14, // 3: google.cloud.dialogflow.cx.v3beta1.Conversation.duration:type_name -> google.protobuf.Duration
	6,  // 4: google.cloud.dialogflow.cx.v3beta1.Conversation.metrics:type_name -> google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics
	15, // 5: google.cloud.dialogflow.cx.v3beta1.Conversation.intents:type_name -> google.cloud.dialogflow.cx.v3beta1.Intent
	16, // 6: google.cloud.dialogflow.cx.v3beta1.Conversation.flows:type_name -> google.cloud.dialogflow.cx.v3beta1.Flow
	17, // 7: google.cloud.dialogflow.cx.v3beta1.Conversation.pages:type_name -> google.cloud.dialogflow.cx.v3beta1.Page
	7,  // 8: google.cloud.dialogflow.cx.v3beta1.Conversation.interactions:type_name -> google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction
	18, // 9: google.cloud.dialogflow.cx.v3beta1.Conversation.environment:type_name -> google.cloud.dialogflow.cx.v3beta1.Environment
	8,  // 10: google.cloud.dialogflow.cx.v3beta1.Conversation.flow_versions:type_name -> google.cloud.dialogflow.cx.v3beta1.Conversation.FlowVersionsEntry
	14, // 11: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.input_audio_duration:type_name -> google.protobuf.Duration
	14, // 12: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.output_audio_duration:type_name -> google.protobuf.Duration
	14, // 13: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.max_webhook_latency:type_name -> google.protobuf.Duration
	9,  // 14: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.query_input_count:type_name -> google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.QueryInputCount
	10, // 15: google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.match_type_count:type_name -> google.cloud.dialogflow.cx.v3beta1.Conversation.Metrics.MatchTypeCount
	19, // 16: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.request:type_name -> google.cloud.dialogflow.cx.v3beta1.DetectIntentRequest
	20, // 17: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.response:type_name -> google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse
	20, // 18: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.partial_responses:type_name -> google.cloud.dialogflow.cx.v3beta1.DetectIntentResponse
	13, // 19: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.create_time:type_name -> google.protobuf.Timestamp
	21, // 20: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.answer_feedback:type_name -> google.cloud.dialogflow.cx.v3beta1.AnswerFeedback
	11, // 21: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.missing_transition:type_name -> google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.MissingTransition
	12, // 22: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.step_metrics:type_name -> google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics
	14, // 23: google.cloud.dialogflow.cx.v3beta1.Conversation.Interaction.StepMetrics.latency:type_name -> google.protobuf.Duration
	3,  // 24: google.cloud.dialogflow.cx.v3beta1.ConversationHistory.ListConversations:input_type -> google.cloud.dialogflow.cx.v3beta1.ListConversationsRequest
	1,  // 25: google.cloud.dialogflow.cx.v3beta1.ConversationHistory.GetConversation:input_type -> google.cloud.dialogflow.cx.v3beta1.GetConversationRequest
	2,  // 26: google.cloud.dialogflow.cx.v3beta1.ConversationHistory.DeleteConversation:input_type -> google.cloud.dialogflow.cx.v3beta1.DeleteConversationRequest
	4,  // 27: google.cloud.dialogflow.cx.v3beta1.ConversationHistory.ListConversations:output_type -> google.cloud.dialogflow.cx.v3beta1.ListConversationsResponse
	5,  // 28: google.cloud.dialogflow.cx.v3beta1.ConversationHistory.GetConversation:output_type -> google.cloud.dialogflow.cx.v3beta1.Conversation
	22, // 29: google.cloud.dialogflow.cx.v3beta1.ConversationHistory.DeleteConversation:output_type -> google.protobuf.Empty
	27, // [27:30] is the sub-list for method output_type
	24, // [24:27] is the sub-list for method input_type
	24, // [24:24] is the sub-list for extension type_name
	24, // [24:24] is the sub-list for extension extendee
	0,  // [0:24] is the sub-list for field type_name
}

func init() { file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_init() }
func file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_init() {
	if File_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto != nil {
		return
	}
	file_google_cloud_dialogflow_cx_v3beta1_environment_proto_init()
	file_google_cloud_dialogflow_cx_v3beta1_flow_proto_init()
	file_google_cloud_dialogflow_cx_v3beta1_intent_proto_init()
	file_google_cloud_dialogflow_cx_v3beta1_page_proto_init()
	file_google_cloud_dialogflow_cx_v3beta1_session_proto_init()
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDesc), len(file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   12,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_goTypes,
		DependencyIndexes: file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_depIdxs,
		EnumInfos:         file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_enumTypes,
		MessageInfos:      file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_msgTypes,
	}.Build()
	File_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto = out.File
	file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_goTypes = nil
	file_google_cloud_dialogflow_cx_v3beta1_conversation_history_proto_depIdxs = nil
}
