// 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        v6.33.2
// source: google/cloud/dialogflow/cx/v3/page.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"
	emptypb "google.golang.org/protobuf/types/known/emptypb"
	fieldmaskpb "google.golang.org/protobuf/types/known/fieldmaskpb"
	structpb "google.golang.org/protobuf/types/known/structpb"
)

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)
)

// A Dialogflow CX conversation (session) can be described and visualized as a
// state machine. The states of a CX session are represented by pages.
//
// For each flow, you define many pages, where your combined pages can handle a
// complete conversation on the topics the flow is designed for. At any given
// moment, exactly one page is the current page, the current page is considered
// active, and the flow associated with that page is considered active. Every
// flow has a special start page. When a flow initially becomes active, the
// start page page becomes the current page. For each conversational turn, the
// current page will either stay the same or transition to another page.
//
// You configure each page to collect information from the end-user that is
// relevant for the conversational state represented by the page.
//
// For more information, see the
// [Page guide](https://cloud.google.com/dialogflow/cx/docs/concept/page).
type Page struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The unique identifier of the page.
	// Required for the
	// [Pages.UpdatePage][google.cloud.dialogflow.cx.v3.Pages.UpdatePage] method.
	// [Pages.CreatePage][google.cloud.dialogflow.cx.v3.Pages.CreatePage]
	// populates the name automatically.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>/pages/<PageID>`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Required. The human-readable name of the page, unique within the flow.
	DisplayName string `protobuf:"bytes,2,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// The description of the page. The maximum length is 500 characters.
	Description string `protobuf:"bytes,19,opt,name=description,proto3" json:"description,omitempty"`
	// The fulfillment to call when the session is entering the page.
	EntryFulfillment *Fulfillment `protobuf:"bytes,7,opt,name=entry_fulfillment,json=entryFulfillment,proto3" json:"entry_fulfillment,omitempty"`
	// The form associated with the page, used for collecting parameters
	// relevant to the page.
	Form *Form `protobuf:"bytes,4,opt,name=form,proto3" json:"form,omitempty"`
	// Ordered list of
	// [`TransitionRouteGroups`][google.cloud.dialogflow.cx.v3.TransitionRouteGroup]
	// added to the page. Transition route groups must be unique within a page. If
	// the page links both flow-level transition route groups and agent-level
	// transition route groups, the flow-level ones will have higher priority and
	// will be put before the agent-level ones.
	//
	//   - If multiple transition routes within a page scope refer to the same
	//     intent, then the precedence order is: page's transition route -> page's
	//     transition route group -> flow's transition routes.
	//
	//   - If multiple transition route groups within a page contain the same
	//     intent, then the first group in the ordered list takes precedence.
	//
	// Format:`projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>/transitionRouteGroups/<TransitionRouteGroupID>`
	// or
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/transitionRouteGroups/<TransitionRouteGroupID>`
	// for agent-level groups.
	TransitionRouteGroups []string `protobuf:"bytes,11,rep,name=transition_route_groups,json=transitionRouteGroups,proto3" json:"transition_route_groups,omitempty"`
	// A list of transitions for the transition rules of this page.
	// They route the conversation to another page in the same flow, or another
	// flow.
	//
	// When we are in a certain page, the TransitionRoutes are evaluated in the
	// following order:
	//
	//   - TransitionRoutes defined in the page with intent specified.
	//   - TransitionRoutes defined in the
	//     [transition route
	//     groups][google.cloud.dialogflow.cx.v3.Page.transition_route_groups]
	//     with intent specified.
	//   - TransitionRoutes defined in flow with intent specified.
	//   - TransitionRoutes defined in the
	//     [transition route
	//     groups][google.cloud.dialogflow.cx.v3.Flow.transition_route_groups]
	//     with intent specified.
	//   - TransitionRoutes defined in the page with only condition specified.
	//   - TransitionRoutes defined in the
	//     [transition route
	//     groups][google.cloud.dialogflow.cx.v3.Page.transition_route_groups]
	//     with only condition specified.
	TransitionRoutes []*TransitionRoute `protobuf:"bytes,9,rep,name=transition_routes,json=transitionRoutes,proto3" json:"transition_routes,omitempty"`
	// Handlers associated with the page to handle events such as webhook errors,
	// no match or no input.
	EventHandlers []*EventHandler `protobuf:"bytes,10,rep,name=event_handlers,json=eventHandlers,proto3" json:"event_handlers,omitempty"`
	// Hierarchical advanced settings for this page. The settings exposed at the
	// lower level overrides the settings exposed at the higher level.
	AdvancedSettings *AdvancedSettings `protobuf:"bytes,13,opt,name=advanced_settings,json=advancedSettings,proto3" json:"advanced_settings,omitempty"`
	// Optional. Knowledge connector configuration.
	KnowledgeConnectorSettings *KnowledgeConnectorSettings `protobuf:"bytes,18,opt,name=knowledge_connector_settings,json=knowledgeConnectorSettings,proto3" json:"knowledge_connector_settings,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

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

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

func (*Page) ProtoMessage() {}

func (x *Page) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 Page.ProtoReflect.Descriptor instead.
func (*Page) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{0}
}

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

func (x *Page) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *Page) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *Page) GetEntryFulfillment() *Fulfillment {
	if x != nil {
		return x.EntryFulfillment
	}
	return nil
}

func (x *Page) GetForm() *Form {
	if x != nil {
		return x.Form
	}
	return nil
}

func (x *Page) GetTransitionRouteGroups() []string {
	if x != nil {
		return x.TransitionRouteGroups
	}
	return nil
}

func (x *Page) GetTransitionRoutes() []*TransitionRoute {
	if x != nil {
		return x.TransitionRoutes
	}
	return nil
}

func (x *Page) GetEventHandlers() []*EventHandler {
	if x != nil {
		return x.EventHandlers
	}
	return nil
}

func (x *Page) GetAdvancedSettings() *AdvancedSettings {
	if x != nil {
		return x.AdvancedSettings
	}
	return nil
}

func (x *Page) GetKnowledgeConnectorSettings() *KnowledgeConnectorSettings {
	if x != nil {
		return x.KnowledgeConnectorSettings
	}
	return nil
}

// A form is a data model that groups related parameters that can be collected
// from the user. The process in which the agent prompts the user and collects
// parameter values from the user is called form filling. A form can be added to
// a [page][google.cloud.dialogflow.cx.v3.Page]. When form filling is done, the
// filled parameters will be written to the
// [session][google.cloud.dialogflow.cx.v3.SessionInfo.parameters].
type Form struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Parameters to collect from the user.
	Parameters    []*Form_Parameter `protobuf:"bytes,1,rep,name=parameters,proto3" json:"parameters,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*Form) ProtoMessage() {}

func (x *Form) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 Form.ProtoReflect.Descriptor instead.
func (*Form) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{1}
}

func (x *Form) GetParameters() []*Form_Parameter {
	if x != nil {
		return x.Parameters
	}
	return nil
}

// An event handler specifies an
// [event][google.cloud.dialogflow.cx.v3.EventHandler.event] that can be handled
// during a session. When the specified event happens, the following actions are
// taken in order:
//
// *   If there is a
// [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3.EventHandler.trigger_fulfillment]
// associated with the event, it will be called.
// *   If there is a
// [`target_page`][google.cloud.dialogflow.cx.v3.EventHandler.target_page]
// associated with the event, the session will transition into the specified
// page.
// *   If there is a
// [`target_flow`][google.cloud.dialogflow.cx.v3.EventHandler.target_flow]
// associated with the event, the session will transition into the specified
// flow.
type EventHandler struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The unique identifier of this event handler.
	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	// Required. The name of the event to handle.
	Event string `protobuf:"bytes,4,opt,name=event,proto3" json:"event,omitempty"`
	// The fulfillment to call when the event occurs.
	// Handling webhook errors with a fulfillment enabled with webhook could
	// cause infinite loop. It is invalid to specify such fulfillment for a
	// handler handling webhooks.
	TriggerFulfillment *Fulfillment `protobuf:"bytes,5,opt,name=trigger_fulfillment,json=triggerFulfillment,proto3" json:"trigger_fulfillment,omitempty"`
	// The target to transition to, either a page in the same host flow (the flow
	// that owns this
	// [TransitionRoute][google.cloud.dialogflow.cx.v3.TransitionRoute]), or
	// another flow in the same agent.
	//
	// Types that are valid to be assigned to Target:
	//
	//	*EventHandler_TargetPage
	//	*EventHandler_TargetFlow
	//	*EventHandler_TargetPlaybook
	Target        isEventHandler_Target `protobuf_oneof:"target"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*EventHandler) ProtoMessage() {}

func (x *EventHandler) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 EventHandler.ProtoReflect.Descriptor instead.
func (*EventHandler) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{2}
}

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

func (x *EventHandler) GetEvent() string {
	if x != nil {
		return x.Event
	}
	return ""
}

func (x *EventHandler) GetTriggerFulfillment() *Fulfillment {
	if x != nil {
		return x.TriggerFulfillment
	}
	return nil
}

func (x *EventHandler) GetTarget() isEventHandler_Target {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *EventHandler) GetTargetPage() string {
	if x != nil {
		if x, ok := x.Target.(*EventHandler_TargetPage); ok {
			return x.TargetPage
		}
	}
	return ""
}

func (x *EventHandler) GetTargetFlow() string {
	if x != nil {
		if x, ok := x.Target.(*EventHandler_TargetFlow); ok {
			return x.TargetFlow
		}
	}
	return ""
}

func (x *EventHandler) GetTargetPlaybook() string {
	if x != nil {
		if x, ok := x.Target.(*EventHandler_TargetPlaybook); ok {
			return x.TargetPlaybook
		}
	}
	return ""
}

type isEventHandler_Target interface {
	isEventHandler_Target()
}

type EventHandler_TargetPage struct {
	// The target page to transition to.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>/pages/<PageID>`.
	TargetPage string `protobuf:"bytes,2,opt,name=target_page,json=targetPage,proto3,oneof"`
}

type EventHandler_TargetFlow struct {
	// The target flow to transition to.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>`.
	TargetFlow string `protobuf:"bytes,3,opt,name=target_flow,json=targetFlow,proto3,oneof"`
}

type EventHandler_TargetPlaybook struct {
	// The target playbook to transition to.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/playbooks/<PlaybookID>`.
	TargetPlaybook string `protobuf:"bytes,7,opt,name=target_playbook,json=targetPlaybook,proto3,oneof"`
}

func (*EventHandler_TargetPage) isEventHandler_Target() {}

func (*EventHandler_TargetFlow) isEventHandler_Target() {}

func (*EventHandler_TargetPlaybook) isEventHandler_Target() {}

// A transition route specifies a [intent][google.cloud.dialogflow.cx.v3.Intent]
// that can be matched and/or a data condition that can be evaluated during a
// session. When a specified transition is matched, the following actions are
// taken in order:
//
// *   If there is a
// [`trigger_fulfillment`][google.cloud.dialogflow.cx.v3.TransitionRoute.trigger_fulfillment]
// associated with the transition, it will be called.
// *   If there is a
// [`target_page`][google.cloud.dialogflow.cx.v3.TransitionRoute.target_page]
// associated with the transition, the session will transition into the
// specified page.
// *   If there is a
// [`target_flow`][google.cloud.dialogflow.cx.v3.TransitionRoute.target_flow]
// associated with the transition, the session will transition into the
// specified flow.
type TransitionRoute struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Output only. The unique identifier of this transition route.
	Name string `protobuf:"bytes,6,opt,name=name,proto3" json:"name,omitempty"`
	// Optional. The description of the transition route. The maximum length is
	// 500 characters.
	Description string `protobuf:"bytes,8,opt,name=description,proto3" json:"description,omitempty"`
	// The unique identifier of an [Intent][google.cloud.dialogflow.cx.v3.Intent].
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/intents/<IntentID>`.
	// Indicates that the transition can only happen when the given intent is
	// matched.
	// At least one of `intent` or `condition` must be specified. When both
	// `intent` and `condition` are specified, the transition can only happen
	// when both are fulfilled.
	Intent string `protobuf:"bytes,1,opt,name=intent,proto3" json:"intent,omitempty"`
	// The condition to evaluate against [form
	// parameters][google.cloud.dialogflow.cx.v3.Form.parameters] or [session
	// parameters][google.cloud.dialogflow.cx.v3.SessionInfo.parameters].
	//
	// See the [conditions
	// reference](https://cloud.google.com/dialogflow/cx/docs/reference/condition).
	// At least one of `intent` or `condition` must be specified. When both
	// `intent` and `condition` are specified, the transition can only happen
	// when both are fulfilled.
	Condition string `protobuf:"bytes,2,opt,name=condition,proto3" json:"condition,omitempty"`
	// The fulfillment to call when the condition is satisfied. At least one of
	// `trigger_fulfillment` and `target` must be specified. When both are
	// defined, `trigger_fulfillment` is executed first.
	TriggerFulfillment *Fulfillment `protobuf:"bytes,3,opt,name=trigger_fulfillment,json=triggerFulfillment,proto3" json:"trigger_fulfillment,omitempty"`
	// The target to transition to, either a page in the same host flow (the flow
	// that owns this
	// [TransitionRoute][google.cloud.dialogflow.cx.v3.TransitionRoute]), or
	// another flow in the same agent.
	//
	// Types that are valid to be assigned to Target:
	//
	//	*TransitionRoute_TargetPage
	//	*TransitionRoute_TargetFlow
	Target        isTransitionRoute_Target `protobuf_oneof:"target"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*TransitionRoute) ProtoMessage() {}

func (x *TransitionRoute) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 TransitionRoute.ProtoReflect.Descriptor instead.
func (*TransitionRoute) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{3}
}

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

func (x *TransitionRoute) GetDescription() string {
	if x != nil {
		return x.Description
	}
	return ""
}

func (x *TransitionRoute) GetIntent() string {
	if x != nil {
		return x.Intent
	}
	return ""
}

func (x *TransitionRoute) GetCondition() string {
	if x != nil {
		return x.Condition
	}
	return ""
}

func (x *TransitionRoute) GetTriggerFulfillment() *Fulfillment {
	if x != nil {
		return x.TriggerFulfillment
	}
	return nil
}

func (x *TransitionRoute) GetTarget() isTransitionRoute_Target {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *TransitionRoute) GetTargetPage() string {
	if x != nil {
		if x, ok := x.Target.(*TransitionRoute_TargetPage); ok {
			return x.TargetPage
		}
	}
	return ""
}

func (x *TransitionRoute) GetTargetFlow() string {
	if x != nil {
		if x, ok := x.Target.(*TransitionRoute_TargetFlow); ok {
			return x.TargetFlow
		}
	}
	return ""
}

type isTransitionRoute_Target interface {
	isTransitionRoute_Target()
}

type TransitionRoute_TargetPage struct {
	// The target page to transition to.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>/pages/<PageID>`.
	TargetPage string `protobuf:"bytes,4,opt,name=target_page,json=targetPage,proto3,oneof"`
}

type TransitionRoute_TargetFlow struct {
	// The target flow to transition to.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>`.
	TargetFlow string `protobuf:"bytes,5,opt,name=target_flow,json=targetFlow,proto3,oneof"`
}

func (*TransitionRoute_TargetPage) isTransitionRoute_Target() {}

func (*TransitionRoute_TargetFlow) isTransitionRoute_Target() {}

// The request message for
// [Pages.ListPages][google.cloud.dialogflow.cx.v3.Pages.ListPages].
type ListPagesRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The flow to list all pages for.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// The language to list pages for. The following fields are language
	// dependent:
	//
	// *  `Page.entry_fulfillment.messages`
	// *  `Page.entry_fulfillment.conditional_cases`
	// *  `Page.event_handlers.trigger_fulfillment.messages`
	// *  `Page.event_handlers.trigger_fulfillment.conditional_cases`
	// *  `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages`
	// *
	// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases`
	// *  `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
	// *
	// `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases`
	// *  `Page.transition_routes.trigger_fulfillment.messages`
	// *  `Page.transition_routes.trigger_fulfillment.conditional_cases`
	//
	// If not specified, the agent's default language is used.
	// [Many
	// languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
	// are supported.
	// Note: languages must be enabled in the agent before they can be used.
	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// 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"`
	// 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 *ListPagesRequest) Reset() {
	*x = ListPagesRequest{}
	mi := &file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes[4]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListPagesRequest) ProtoMessage() {}

func (x *ListPagesRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 ListPagesRequest.ProtoReflect.Descriptor instead.
func (*ListPagesRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{4}
}

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

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

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

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

// The response message for
// [Pages.ListPages][google.cloud.dialogflow.cx.v3.Pages.ListPages].
type ListPagesResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The list of pages. There will be a maximum number of items returned based
	// on the page_size field in the request.
	Pages []*Page `protobuf:"bytes,1,rep,name=pages,proto3" json:"pages,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 *ListPagesResponse) Reset() {
	*x = ListPagesResponse{}
	mi := &file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes[5]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*ListPagesResponse) ProtoMessage() {}

func (x *ListPagesResponse) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 ListPagesResponse.ProtoReflect.Descriptor instead.
func (*ListPagesResponse) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{5}
}

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

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

// The request message for
// [Pages.GetPage][google.cloud.dialogflow.cx.v3.Pages.GetPage].
type GetPageRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the page.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>/pages/<PageID>`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The language to retrieve the page for. The following fields are language
	// dependent:
	//
	// *  `Page.entry_fulfillment.messages`
	// *  `Page.entry_fulfillment.conditional_cases`
	// *  `Page.event_handlers.trigger_fulfillment.messages`
	// *  `Page.event_handlers.trigger_fulfillment.conditional_cases`
	// *  `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages`
	// *
	// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases`
	// *  `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
	// *
	// `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases`
	// *  `Page.transition_routes.trigger_fulfillment.messages`
	// *  `Page.transition_routes.trigger_fulfillment.conditional_cases`
	//
	// If not specified, the agent's default language is used.
	// [Many
	// languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
	// are supported.
	// Note: languages must be enabled in the agent before they can be used.
	LanguageCode  string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GetPageRequest) ProtoMessage() {}

func (x *GetPageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 GetPageRequest.ProtoReflect.Descriptor instead.
func (*GetPageRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{6}
}

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

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

// The request message for
// [Pages.CreatePage][google.cloud.dialogflow.cx.v3.Pages.CreatePage].
type CreatePageRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The flow to create a page for.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>`.
	Parent string `protobuf:"bytes,1,opt,name=parent,proto3" json:"parent,omitempty"`
	// Required. The page to create.
	Page *Page `protobuf:"bytes,2,opt,name=page,proto3" json:"page,omitempty"`
	// The language of the following fields in `page`:
	//
	// *  `Page.entry_fulfillment.messages`
	// *  `Page.entry_fulfillment.conditional_cases`
	// *  `Page.event_handlers.trigger_fulfillment.messages`
	// *  `Page.event_handlers.trigger_fulfillment.conditional_cases`
	// *  `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages`
	// *
	// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases`
	// *  `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
	// *
	// `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases`
	// *  `Page.transition_routes.trigger_fulfillment.messages`
	// *  `Page.transition_routes.trigger_fulfillment.conditional_cases`
	//
	// If not specified, the agent's default language is used.
	// [Many
	// languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
	// are supported.
	// Note: languages must be enabled in the agent before they can be used.
	LanguageCode  string `protobuf:"bytes,3,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

func (x *CreatePageRequest) Reset() {
	*x = CreatePageRequest{}
	mi := &file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes[7]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*CreatePageRequest) ProtoMessage() {}

func (x *CreatePageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes[7]
	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 CreatePageRequest.ProtoReflect.Descriptor instead.
func (*CreatePageRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{7}
}

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

func (x *CreatePageRequest) GetPage() *Page {
	if x != nil {
		return x.Page
	}
	return nil
}

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

// The request message for
// [Pages.UpdatePage][google.cloud.dialogflow.cx.v3.Pages.UpdatePage].
type UpdatePageRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The page to update.
	Page *Page `protobuf:"bytes,1,opt,name=page,proto3" json:"page,omitempty"`
	// The language of the following fields in `page`:
	//
	// *  `Page.entry_fulfillment.messages`
	// *  `Page.entry_fulfillment.conditional_cases`
	// *  `Page.event_handlers.trigger_fulfillment.messages`
	// *  `Page.event_handlers.trigger_fulfillment.conditional_cases`
	// *  `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.messages`
	// *
	// `Page.form.parameters.fill_behavior.initial_prompt_fulfillment.conditional_cases`
	// *  `Page.form.parameters.fill_behavior.reprompt_event_handlers.messages`
	// *
	// `Page.form.parameters.fill_behavior.reprompt_event_handlers.conditional_cases`
	// *  `Page.transition_routes.trigger_fulfillment.messages`
	// *  `Page.transition_routes.trigger_fulfillment.conditional_cases`
	//
	// If not specified, the agent's default language is used.
	// [Many
	// languages](https://cloud.google.com/dialogflow/cx/docs/reference/language)
	// are supported.
	// Note: languages must be enabled in the agent before they can be used.
	LanguageCode string `protobuf:"bytes,2,opt,name=language_code,json=languageCode,proto3" json:"language_code,omitempty"`
	// The mask to control which fields get updated. If the mask is not present,
	// all fields will be updated.
	UpdateMask    *fieldmaskpb.FieldMask `protobuf:"bytes,3,opt,name=update_mask,json=updateMask,proto3" json:"update_mask,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*UpdatePageRequest) ProtoMessage() {}

func (x *UpdatePageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 UpdatePageRequest.ProtoReflect.Descriptor instead.
func (*UpdatePageRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{8}
}

func (x *UpdatePageRequest) GetPage() *Page {
	if x != nil {
		return x.Page
	}
	return nil
}

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

func (x *UpdatePageRequest) GetUpdateMask() *fieldmaskpb.FieldMask {
	if x != nil {
		return x.UpdateMask
	}
	return nil
}

// The request message for
// [Pages.DeletePage][google.cloud.dialogflow.cx.v3.Pages.DeletePage].
type DeletePageRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The name of the page to delete.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/Flows/<flowID>/pages/<PageID>`.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// This field has no effect for pages with no incoming transitions.
	// For pages with incoming transitions:
	//
	//   - If `force` is set to false, an error will be returned with message
	//     indicating the incoming transitions.
	//   - If `force` is set to true, Dialogflow will remove the page, as well as
	//     any transitions to the page (i.e. [Target
	//     page][EventHandler.target_page] in event handlers or [Target
	//     page][TransitionRoute.target_page] in transition routes that point to
	//     this page will be cleared).
	Force         bool `protobuf:"varint,2,opt,name=force,proto3" json:"force,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*DeletePageRequest) ProtoMessage() {}

func (x *DeletePageRequest) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 DeletePageRequest.ProtoReflect.Descriptor instead.
func (*DeletePageRequest) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{9}
}

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

func (x *DeletePageRequest) GetForce() bool {
	if x != nil {
		return x.Force
	}
	return false
}

// The Knowledge Connector settings for this page or flow.
// This includes information such as the attached Knowledge Bases, and the way
// to execute fulfillment.
type KnowledgeConnectorSettings struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Whether Knowledge Connector is enabled or not.
	Enabled bool `protobuf:"varint,1,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// The fulfillment to be triggered.
	//
	// When the answers from the Knowledge Connector are selected by Dialogflow,
	// you can utitlize the request scoped parameter `$request.knowledge.answers`
	// (contains up to the 5 highest confidence answers) and
	// `$request.knowledge.questions` (contains the corresponding questions) to
	// construct the fulfillment.
	TriggerFulfillment *Fulfillment `protobuf:"bytes,3,opt,name=trigger_fulfillment,json=triggerFulfillment,proto3" json:"trigger_fulfillment,omitempty"`
	// The target to transition to, either a page in the same host flow (the flow
	// that owns this
	// [KnowledgeConnectorSettings][google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings]),
	// or another flow in the same agent.
	//
	// Types that are valid to be assigned to Target:
	//
	//	*KnowledgeConnectorSettings_TargetPage
	//	*KnowledgeConnectorSettings_TargetFlow
	Target isKnowledgeConnectorSettings_Target `protobuf_oneof:"target"`
	// Optional. List of related data store connections.
	DataStoreConnections []*DataStoreConnection `protobuf:"bytes,6,rep,name=data_store_connections,json=dataStoreConnections,proto3" json:"data_store_connections,omitempty"`
	unknownFields        protoimpl.UnknownFields
	sizeCache            protoimpl.SizeCache
}

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

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

func (*KnowledgeConnectorSettings) ProtoMessage() {}

func (x *KnowledgeConnectorSettings) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 KnowledgeConnectorSettings.ProtoReflect.Descriptor instead.
func (*KnowledgeConnectorSettings) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{10}
}

func (x *KnowledgeConnectorSettings) GetEnabled() bool {
	if x != nil {
		return x.Enabled
	}
	return false
}

func (x *KnowledgeConnectorSettings) GetTriggerFulfillment() *Fulfillment {
	if x != nil {
		return x.TriggerFulfillment
	}
	return nil
}

func (x *KnowledgeConnectorSettings) GetTarget() isKnowledgeConnectorSettings_Target {
	if x != nil {
		return x.Target
	}
	return nil
}

func (x *KnowledgeConnectorSettings) GetTargetPage() string {
	if x != nil {
		if x, ok := x.Target.(*KnowledgeConnectorSettings_TargetPage); ok {
			return x.TargetPage
		}
	}
	return ""
}

func (x *KnowledgeConnectorSettings) GetTargetFlow() string {
	if x != nil {
		if x, ok := x.Target.(*KnowledgeConnectorSettings_TargetFlow); ok {
			return x.TargetFlow
		}
	}
	return ""
}

func (x *KnowledgeConnectorSettings) GetDataStoreConnections() []*DataStoreConnection {
	if x != nil {
		return x.DataStoreConnections
	}
	return nil
}

type isKnowledgeConnectorSettings_Target interface {
	isKnowledgeConnectorSettings_Target()
}

type KnowledgeConnectorSettings_TargetPage struct {
	// The target page to transition to.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>/pages/<PageID>`.
	TargetPage string `protobuf:"bytes,4,opt,name=target_page,json=targetPage,proto3,oneof"`
}

type KnowledgeConnectorSettings_TargetFlow struct {
	// The target flow to transition to.
	// Format:
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/flows/<FlowID>`.
	TargetFlow string `protobuf:"bytes,5,opt,name=target_flow,json=targetFlow,proto3,oneof"`
}

func (*KnowledgeConnectorSettings_TargetPage) isKnowledgeConnectorSettings_Target() {}

func (*KnowledgeConnectorSettings_TargetFlow) isKnowledgeConnectorSettings_Target() {}

// Represents a form parameter.
type Form_Parameter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The human-readable name of the parameter, unique within the
	// form.
	DisplayName string `protobuf:"bytes,1,opt,name=display_name,json=displayName,proto3" json:"display_name,omitempty"`
	// Indicates whether the parameter is required. Optional parameters will not
	// trigger prompts; however, they are filled if the user specifies them.
	// Required parameters must be filled before form filling concludes.
	Required bool `protobuf:"varint,2,opt,name=required,proto3" json:"required,omitempty"`
	// Required. The entity type of the parameter.
	// Format:
	// `projects/-/locations/-/agents/-/entityTypes/<SystemEntityTypeID>` for
	// system entity types (for example,
	// `projects/-/locations/-/agents/-/entityTypes/sys.date`), or
	// `projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/entityTypes/<EntityTypeID>`
	// for developer entity types.
	EntityType string `protobuf:"bytes,3,opt,name=entity_type,json=entityType,proto3" json:"entity_type,omitempty"`
	// Indicates whether the parameter represents a list of values.
	IsList bool `protobuf:"varint,4,opt,name=is_list,json=isList,proto3" json:"is_list,omitempty"`
	// Required. Defines fill behavior for the parameter.
	FillBehavior *Form_Parameter_FillBehavior `protobuf:"bytes,7,opt,name=fill_behavior,json=fillBehavior,proto3" json:"fill_behavior,omitempty"`
	// The default value of an optional parameter. If the parameter is required,
	// the default value will be ignored.
	DefaultValue *structpb.Value `protobuf:"bytes,9,opt,name=default_value,json=defaultValue,proto3" json:"default_value,omitempty"`
	// Indicates whether the parameter content should be redacted in log.  If
	// redaction is enabled, the parameter content will be replaced by parameter
	// name during logging.
	// Note: the parameter content is subject to redaction if either parameter
	// level redaction or [entity type level
	// redaction][google.cloud.dialogflow.cx.v3.EntityType.redact] is enabled.
	Redact bool `protobuf:"varint,11,opt,name=redact,proto3" json:"redact,omitempty"`
	// Hierarchical advanced settings for this parameter. The settings exposed
	// at the lower level overrides the settings exposed at the higher level.
	AdvancedSettings *AdvancedSettings `protobuf:"bytes,12,opt,name=advanced_settings,json=advancedSettings,proto3" json:"advanced_settings,omitempty"`
	unknownFields    protoimpl.UnknownFields
	sizeCache        protoimpl.SizeCache
}

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

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

func (*Form_Parameter) ProtoMessage() {}

func (x *Form_Parameter) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_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 Form_Parameter.ProtoReflect.Descriptor instead.
func (*Form_Parameter) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{1, 0}
}

func (x *Form_Parameter) GetDisplayName() string {
	if x != nil {
		return x.DisplayName
	}
	return ""
}

func (x *Form_Parameter) GetRequired() bool {
	if x != nil {
		return x.Required
	}
	return false
}

func (x *Form_Parameter) GetEntityType() string {
	if x != nil {
		return x.EntityType
	}
	return ""
}

func (x *Form_Parameter) GetIsList() bool {
	if x != nil {
		return x.IsList
	}
	return false
}

func (x *Form_Parameter) GetFillBehavior() *Form_Parameter_FillBehavior {
	if x != nil {
		return x.FillBehavior
	}
	return nil
}

func (x *Form_Parameter) GetDefaultValue() *structpb.Value {
	if x != nil {
		return x.DefaultValue
	}
	return nil
}

func (x *Form_Parameter) GetRedact() bool {
	if x != nil {
		return x.Redact
	}
	return false
}

func (x *Form_Parameter) GetAdvancedSettings() *AdvancedSettings {
	if x != nil {
		return x.AdvancedSettings
	}
	return nil
}

// Configuration for how the filling of a parameter should be handled.
type Form_Parameter_FillBehavior struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Required. The fulfillment to provide the initial prompt that the agent
	// can present to the user in order to fill the parameter.
	InitialPromptFulfillment *Fulfillment `protobuf:"bytes,3,opt,name=initial_prompt_fulfillment,json=initialPromptFulfillment,proto3" json:"initial_prompt_fulfillment,omitempty"`
	// The handlers for parameter-level events, used to provide reprompt for
	// the parameter or transition to a different page/flow. The supported
	// events are:
	// *   `sys.no-match-<N>`, where N can be from 1 to 6
	// *   `sys.no-match-default`
	// *   `sys.no-input-<N>`, where N can be from 1 to 6
	// *   `sys.no-input-default`
	// *   `sys.invalid-parameter`
	//
	// `initial_prompt_fulfillment` provides the first prompt for the
	// parameter.
	//
	// If the user's response does not fill the parameter, a
	// no-match/no-input event will be triggered, and the fulfillment
	// associated with the `sys.no-match-1`/`sys.no-input-1` handler (if
	// defined) will be called to provide a prompt. The
	// `sys.no-match-2`/`sys.no-input-2` handler (if defined) will respond to
	// the next no-match/no-input event, and so on.
	//
	// A `sys.no-match-default` or `sys.no-input-default` handler will be used
	// to handle all following no-match/no-input events after all numbered
	// no-match/no-input handlers for the parameter are consumed.
	//
	// A `sys.invalid-parameter` handler can be defined to handle the case
	// where the parameter values have been `invalidated` by webhook. For
	// example, if the user's response fill the parameter, however the
	// parameter was invalidated by webhook, the fulfillment associated with
	// the `sys.invalid-parameter` handler (if defined) will be called to
	// provide a prompt.
	//
	// If the event handler for the corresponding event can't be found on the
	// parameter, `initial_prompt_fulfillment` will be re-prompted.
	RepromptEventHandlers []*EventHandler `protobuf:"bytes,5,rep,name=reprompt_event_handlers,json=repromptEventHandlers,proto3" json:"reprompt_event_handlers,omitempty"`
	unknownFields         protoimpl.UnknownFields
	sizeCache             protoimpl.SizeCache
}

func (x *Form_Parameter_FillBehavior) Reset() {
	*x = Form_Parameter_FillBehavior{}
	mi := &file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes[12]
	ms := protoimpl.X.MessageStateOf(protoimpl.Pointer(x))
	ms.StoreMessageInfo(mi)
}

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

func (*Form_Parameter_FillBehavior) ProtoMessage() {}

func (x *Form_Parameter_FillBehavior) ProtoReflect() protoreflect.Message {
	mi := &file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes[12]
	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 Form_Parameter_FillBehavior.ProtoReflect.Descriptor instead.
func (*Form_Parameter_FillBehavior) Descriptor() ([]byte, []int) {
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP(), []int{1, 0, 0}
}

func (x *Form_Parameter_FillBehavior) GetInitialPromptFulfillment() *Fulfillment {
	if x != nil {
		return x.InitialPromptFulfillment
	}
	return nil
}

func (x *Form_Parameter_FillBehavior) GetRepromptEventHandlers() []*EventHandler {
	if x != nil {
		return x.RepromptEventHandlers
	}
	return nil
}

var File_google_cloud_dialogflow_cx_v3_page_proto protoreflect.FileDescriptor

const file_google_cloud_dialogflow_cx_v3_page_proto_rawDesc = "" +
	"\n" +
	"(google/cloud/dialogflow/cx/v3/page.proto\x12\x1dgoogle.cloud.dialogflow.cx.v3\x1a\x1cgoogle/api/annotations.proto\x1a\x17google/api/client.proto\x1a\x1fgoogle/api/field_behavior.proto\x1a\x19google/api/resource.proto\x1a5google/cloud/dialogflow/cx/v3/advanced_settings.proto\x1a9google/cloud/dialogflow/cx/v3/data_store_connection.proto\x1a/google/cloud/dialogflow/cx/v3/fulfillment.proto\x1a\x1bgoogle/protobuf/empty.proto\x1a google/protobuf/field_mask.proto\x1a\x1cgoogle/protobuf/struct.proto\"\xec\x06\n" +
	"\x04Page\x12\x12\n" +
	"\x04name\x18\x01 \x01(\tR\x04name\x12&\n" +
	"\fdisplay_name\x18\x02 \x01(\tB\x03\xe0A\x02R\vdisplayName\x12 \n" +
	"\vdescription\x18\x13 \x01(\tR\vdescription\x12W\n" +
	"\x11entry_fulfillment\x18\a \x01(\v2*.google.cloud.dialogflow.cx.v3.FulfillmentR\x10entryFulfillment\x127\n" +
	"\x04form\x18\x04 \x01(\v2#.google.cloud.dialogflow.cx.v3.FormR\x04form\x12k\n" +
	"\x17transition_route_groups\x18\v \x03(\tB3\xfaA0\n" +
	".dialogflow.googleapis.com/TransitionRouteGroupR\x15transitionRouteGroups\x12[\n" +
	"\x11transition_routes\x18\t \x03(\v2..google.cloud.dialogflow.cx.v3.TransitionRouteR\x10transitionRoutes\x12R\n" +
	"\x0eevent_handlers\x18\n" +
	" \x03(\v2+.google.cloud.dialogflow.cx.v3.EventHandlerR\reventHandlers\x12\\\n" +
	"\x11advanced_settings\x18\r \x01(\v2/.google.cloud.dialogflow.cx.v3.AdvancedSettingsR\x10advancedSettings\x12\x80\x01\n" +
	"\x1cknowledge_connector_settings\x18\x12 \x01(\v29.google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettingsB\x03\xe0A\x01R\x1aknowledgeConnectorSettings:u\xeaAr\n" +
	"\x1edialogflow.googleapis.com/Page\x12Pprojects/{project}/locations/{location}/agents/{agent}/flows/{flow}/pages/{page}\"\x8d\x06\n" +
	"\x04Form\x12M\n" +
	"\n" +
	"parameters\x18\x01 \x03(\v2-.google.cloud.dialogflow.cx.v3.Form.ParameterR\n" +
	"parameters\x1a\xb5\x05\n" +
	"\tParameter\x12&\n" +
	"\fdisplay_name\x18\x01 \x01(\tB\x03\xe0A\x02R\vdisplayName\x12\x1a\n" +
	"\brequired\x18\x02 \x01(\bR\brequired\x12M\n" +
	"\ventity_type\x18\x03 \x01(\tB,\xe0A\x02\xfaA&\n" +
	"$dialogflow.googleapis.com/EntityTypeR\n" +
	"entityType\x12\x17\n" +
	"\ais_list\x18\x04 \x01(\bR\x06isList\x12d\n" +
	"\rfill_behavior\x18\a \x01(\v2:.google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehaviorB\x03\xe0A\x02R\ffillBehavior\x12;\n" +
	"\rdefault_value\x18\t \x01(\v2\x16.google.protobuf.ValueR\fdefaultValue\x12\x16\n" +
	"\x06redact\x18\v \x01(\bR\x06redact\x12\\\n" +
	"\x11advanced_settings\x18\f \x01(\v2/.google.cloud.dialogflow.cx.v3.AdvancedSettingsR\x10advancedSettings\x1a\xe2\x01\n" +
	"\fFillBehavior\x12m\n" +
	"\x1ainitial_prompt_fulfillment\x18\x03 \x01(\v2*.google.cloud.dialogflow.cx.v3.FulfillmentB\x03\xe0A\x02R\x18initialPromptFulfillment\x12c\n" +
	"\x17reprompt_event_handlers\x18\x05 \x03(\v2+.google.cloud.dialogflow.cx.v3.EventHandlerR\x15repromptEventHandlers\"\x8d\x03\n" +
	"\fEventHandler\x12\x17\n" +
	"\x04name\x18\x06 \x01(\tB\x03\xe0A\x03R\x04name\x12\x19\n" +
	"\x05event\x18\x04 \x01(\tB\x03\xe0A\x02R\x05event\x12[\n" +
	"\x13trigger_fulfillment\x18\x05 \x01(\v2*.google.cloud.dialogflow.cx.v3.FulfillmentR\x12triggerFulfillment\x12F\n" +
	"\vtarget_page\x18\x02 \x01(\tB#\xfaA \n" +
	"\x1edialogflow.googleapis.com/PageH\x00R\n" +
	"targetPage\x12F\n" +
	"\vtarget_flow\x18\x03 \x01(\tB#\xfaA \n" +
	"\x1edialogflow.googleapis.com/FlowH\x00R\n" +
	"targetFlow\x12R\n" +
	"\x0ftarget_playbook\x18\a \x01(\tB'\xfaA$\n" +
	"\"dialogflow.googleapis.com/PlaybookH\x00R\x0etargetPlaybookB\b\n" +
	"\x06target\"\xa5\x03\n" +
	"\x0fTransitionRoute\x12\x17\n" +
	"\x04name\x18\x06 \x01(\tB\x03\xe0A\x03R\x04name\x12%\n" +
	"\vdescription\x18\b \x01(\tB\x03\xe0A\x01R\vdescription\x12=\n" +
	"\x06intent\x18\x01 \x01(\tB%\xfaA\"\n" +
	" dialogflow.googleapis.com/IntentR\x06intent\x12\x1c\n" +
	"\tcondition\x18\x02 \x01(\tR\tcondition\x12[\n" +
	"\x13trigger_fulfillment\x18\x03 \x01(\v2*.google.cloud.dialogflow.cx.v3.FulfillmentR\x12triggerFulfillment\x12F\n" +
	"\vtarget_page\x18\x04 \x01(\tB#\xfaA \n" +
	"\x1edialogflow.googleapis.com/PageH\x00R\n" +
	"targetPage\x12F\n" +
	"\vtarget_flow\x18\x05 \x01(\tB#\xfaA \n" +
	"\x1edialogflow.googleapis.com/FlowH\x00R\n" +
	"targetFlowB\b\n" +
	"\x06target\"\xb3\x01\n" +
	"\x10ListPagesRequest\x12>\n" +
	"\x06parent\x18\x01 \x01(\tB&\xe0A\x02\xfaA \x12\x1edialogflow.googleapis.com/PageR\x06parent\x12#\n" +
	"\rlanguage_code\x18\x02 \x01(\tR\flanguageCode\x12\x1b\n" +
	"\tpage_size\x18\x03 \x01(\x05R\bpageSize\x12\x1d\n" +
	"\n" +
	"page_token\x18\x04 \x01(\tR\tpageToken\"v\n" +
	"\x11ListPagesResponse\x129\n" +
	"\x05pages\x18\x01 \x03(\v2#.google.cloud.dialogflow.cx.v3.PageR\x05pages\x12&\n" +
	"\x0fnext_page_token\x18\x02 \x01(\tR\rnextPageToken\"q\n" +
	"\x0eGetPageRequest\x12:\n" +
	"\x04name\x18\x01 \x01(\tB&\xe0A\x02\xfaA \n" +
	"\x1edialogflow.googleapis.com/PageR\x04name\x12#\n" +
	"\rlanguage_code\x18\x02 \x01(\tR\flanguageCode\"\xb6\x01\n" +
	"\x11CreatePageRequest\x12>\n" +
	"\x06parent\x18\x01 \x01(\tB&\xe0A\x02\xfaA \x12\x1edialogflow.googleapis.com/PageR\x06parent\x12<\n" +
	"\x04page\x18\x02 \x01(\v2#.google.cloud.dialogflow.cx.v3.PageB\x03\xe0A\x02R\x04page\x12#\n" +
	"\rlanguage_code\x18\x03 \x01(\tR\flanguageCode\"\xb3\x01\n" +
	"\x11UpdatePageRequest\x12<\n" +
	"\x04page\x18\x01 \x01(\v2#.google.cloud.dialogflow.cx.v3.PageB\x03\xe0A\x02R\x04page\x12#\n" +
	"\rlanguage_code\x18\x02 \x01(\tR\flanguageCode\x12;\n" +
	"\vupdate_mask\x18\x03 \x01(\v2\x1a.google.protobuf.FieldMaskR\n" +
	"updateMask\"e\n" +
	"\x11DeletePageRequest\x12:\n" +
	"\x04name\x18\x01 \x01(\tB&\xe0A\x02\xfaA \n" +
	"\x1edialogflow.googleapis.com/PageR\x04name\x12\x14\n" +
	"\x05force\x18\x02 \x01(\bR\x05force\"\x9c\x03\n" +
	"\x1aKnowledgeConnectorSettings\x12\x18\n" +
	"\aenabled\x18\x01 \x01(\bR\aenabled\x12[\n" +
	"\x13trigger_fulfillment\x18\x03 \x01(\v2*.google.cloud.dialogflow.cx.v3.FulfillmentR\x12triggerFulfillment\x12F\n" +
	"\vtarget_page\x18\x04 \x01(\tB#\xfaA \n" +
	"\x1edialogflow.googleapis.com/PageH\x00R\n" +
	"targetPage\x12F\n" +
	"\vtarget_flow\x18\x05 \x01(\tB#\xfaA \n" +
	"\x1edialogflow.googleapis.com/FlowH\x00R\n" +
	"targetFlow\x12m\n" +
	"\x16data_store_connections\x18\x06 \x03(\v22.google.cloud.dialogflow.cx.v3.DataStoreConnectionB\x03\xe0A\x01R\x14dataStoreConnectionsB\b\n" +
	"\x06target2\x94\b\n" +
	"\x05Pages\x12\xbb\x01\n" +
	"\tListPages\x12/.google.cloud.dialogflow.cx.v3.ListPagesRequest\x1a0.google.cloud.dialogflow.cx.v3.ListPagesResponse\"K\xdaA\x06parent\x82\xd3\xe4\x93\x02<\x12:/v3/{parent=projects/*/locations/*/agents/*/flows/*}/pages\x12\xa8\x01\n" +
	"\aGetPage\x12-.google.cloud.dialogflow.cx.v3.GetPageRequest\x1a#.google.cloud.dialogflow.cx.v3.Page\"I\xdaA\x04name\x82\xd3\xe4\x93\x02<\x12:/v3/{name=projects/*/locations/*/agents/*/flows/*/pages/*}\x12\xbb\x01\n" +
	"\n" +
	"CreatePage\x120.google.cloud.dialogflow.cx.v3.CreatePageRequest\x1a#.google.cloud.dialogflow.cx.v3.Page\"V\xdaA\vparent,page\x82\xd3\xe4\x93\x02B:\x04page\":/v3/{parent=projects/*/locations/*/agents/*/flows/*}/pages\x12\xc5\x01\n" +
	"\n" +
	"UpdatePage\x120.google.cloud.dialogflow.cx.v3.UpdatePageRequest\x1a#.google.cloud.dialogflow.cx.v3.Page\"`\xdaA\x10page,update_mask\x82\xd3\xe4\x93\x02G:\x04page2?/v3/{page.name=projects/*/locations/*/agents/*/flows/*/pages/*}\x12\xa1\x01\n" +
	"\n" +
	"DeletePage\x120.google.cloud.dialogflow.cx.v3.DeletePageRequest\x1a\x16.google.protobuf.Empty\"I\xdaA\x04name\x82\xd3\xe4\x93\x02<*:/v3/{name=projects/*/locations/*/agents/*/flows/*/pages/*}\x1ax\xcaA\x19dialogflow.googleapis.com\xd2AYhttps://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/dialogflowB\xac\x01\n" +
	"!com.google.cloud.dialogflow.cx.v3B\tPageProtoP\x01Z1cloud.google.com/go/dialogflow/cx/apiv3/cxpb;cxpb\xa2\x02\x02DF\xaa\x02\x1dGoogle.Cloud.Dialogflow.Cx.V3\xea\x02!Google::Cloud::Dialogflow::CX::V3b\x06proto3"

var (
	file_google_cloud_dialogflow_cx_v3_page_proto_rawDescOnce sync.Once
	file_google_cloud_dialogflow_cx_v3_page_proto_rawDescData []byte
)

func file_google_cloud_dialogflow_cx_v3_page_proto_rawDescGZIP() []byte {
	file_google_cloud_dialogflow_cx_v3_page_proto_rawDescOnce.Do(func() {
		file_google_cloud_dialogflow_cx_v3_page_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_google_cloud_dialogflow_cx_v3_page_proto_rawDesc), len(file_google_cloud_dialogflow_cx_v3_page_proto_rawDesc)))
	})
	return file_google_cloud_dialogflow_cx_v3_page_proto_rawDescData
}

var file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes = make([]protoimpl.MessageInfo, 13)
var file_google_cloud_dialogflow_cx_v3_page_proto_goTypes = []any{
	(*Page)(nil),                        // 0: google.cloud.dialogflow.cx.v3.Page
	(*Form)(nil),                        // 1: google.cloud.dialogflow.cx.v3.Form
	(*EventHandler)(nil),                // 2: google.cloud.dialogflow.cx.v3.EventHandler
	(*TransitionRoute)(nil),             // 3: google.cloud.dialogflow.cx.v3.TransitionRoute
	(*ListPagesRequest)(nil),            // 4: google.cloud.dialogflow.cx.v3.ListPagesRequest
	(*ListPagesResponse)(nil),           // 5: google.cloud.dialogflow.cx.v3.ListPagesResponse
	(*GetPageRequest)(nil),              // 6: google.cloud.dialogflow.cx.v3.GetPageRequest
	(*CreatePageRequest)(nil),           // 7: google.cloud.dialogflow.cx.v3.CreatePageRequest
	(*UpdatePageRequest)(nil),           // 8: google.cloud.dialogflow.cx.v3.UpdatePageRequest
	(*DeletePageRequest)(nil),           // 9: google.cloud.dialogflow.cx.v3.DeletePageRequest
	(*KnowledgeConnectorSettings)(nil),  // 10: google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings
	(*Form_Parameter)(nil),              // 11: google.cloud.dialogflow.cx.v3.Form.Parameter
	(*Form_Parameter_FillBehavior)(nil), // 12: google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehavior
	(*Fulfillment)(nil),                 // 13: google.cloud.dialogflow.cx.v3.Fulfillment
	(*AdvancedSettings)(nil),            // 14: google.cloud.dialogflow.cx.v3.AdvancedSettings
	(*fieldmaskpb.FieldMask)(nil),       // 15: google.protobuf.FieldMask
	(*DataStoreConnection)(nil),         // 16: google.cloud.dialogflow.cx.v3.DataStoreConnection
	(*structpb.Value)(nil),              // 17: google.protobuf.Value
	(*emptypb.Empty)(nil),               // 18: google.protobuf.Empty
}
var file_google_cloud_dialogflow_cx_v3_page_proto_depIdxs = []int32{
	13, // 0: google.cloud.dialogflow.cx.v3.Page.entry_fulfillment:type_name -> google.cloud.dialogflow.cx.v3.Fulfillment
	1,  // 1: google.cloud.dialogflow.cx.v3.Page.form:type_name -> google.cloud.dialogflow.cx.v3.Form
	3,  // 2: google.cloud.dialogflow.cx.v3.Page.transition_routes:type_name -> google.cloud.dialogflow.cx.v3.TransitionRoute
	2,  // 3: google.cloud.dialogflow.cx.v3.Page.event_handlers:type_name -> google.cloud.dialogflow.cx.v3.EventHandler
	14, // 4: google.cloud.dialogflow.cx.v3.Page.advanced_settings:type_name -> google.cloud.dialogflow.cx.v3.AdvancedSettings
	10, // 5: google.cloud.dialogflow.cx.v3.Page.knowledge_connector_settings:type_name -> google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings
	11, // 6: google.cloud.dialogflow.cx.v3.Form.parameters:type_name -> google.cloud.dialogflow.cx.v3.Form.Parameter
	13, // 7: google.cloud.dialogflow.cx.v3.EventHandler.trigger_fulfillment:type_name -> google.cloud.dialogflow.cx.v3.Fulfillment
	13, // 8: google.cloud.dialogflow.cx.v3.TransitionRoute.trigger_fulfillment:type_name -> google.cloud.dialogflow.cx.v3.Fulfillment
	0,  // 9: google.cloud.dialogflow.cx.v3.ListPagesResponse.pages:type_name -> google.cloud.dialogflow.cx.v3.Page
	0,  // 10: google.cloud.dialogflow.cx.v3.CreatePageRequest.page:type_name -> google.cloud.dialogflow.cx.v3.Page
	0,  // 11: google.cloud.dialogflow.cx.v3.UpdatePageRequest.page:type_name -> google.cloud.dialogflow.cx.v3.Page
	15, // 12: google.cloud.dialogflow.cx.v3.UpdatePageRequest.update_mask:type_name -> google.protobuf.FieldMask
	13, // 13: google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings.trigger_fulfillment:type_name -> google.cloud.dialogflow.cx.v3.Fulfillment
	16, // 14: google.cloud.dialogflow.cx.v3.KnowledgeConnectorSettings.data_store_connections:type_name -> google.cloud.dialogflow.cx.v3.DataStoreConnection
	12, // 15: google.cloud.dialogflow.cx.v3.Form.Parameter.fill_behavior:type_name -> google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehavior
	17, // 16: google.cloud.dialogflow.cx.v3.Form.Parameter.default_value:type_name -> google.protobuf.Value
	14, // 17: google.cloud.dialogflow.cx.v3.Form.Parameter.advanced_settings:type_name -> google.cloud.dialogflow.cx.v3.AdvancedSettings
	13, // 18: google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehavior.initial_prompt_fulfillment:type_name -> google.cloud.dialogflow.cx.v3.Fulfillment
	2,  // 19: google.cloud.dialogflow.cx.v3.Form.Parameter.FillBehavior.reprompt_event_handlers:type_name -> google.cloud.dialogflow.cx.v3.EventHandler
	4,  // 20: google.cloud.dialogflow.cx.v3.Pages.ListPages:input_type -> google.cloud.dialogflow.cx.v3.ListPagesRequest
	6,  // 21: google.cloud.dialogflow.cx.v3.Pages.GetPage:input_type -> google.cloud.dialogflow.cx.v3.GetPageRequest
	7,  // 22: google.cloud.dialogflow.cx.v3.Pages.CreatePage:input_type -> google.cloud.dialogflow.cx.v3.CreatePageRequest
	8,  // 23: google.cloud.dialogflow.cx.v3.Pages.UpdatePage:input_type -> google.cloud.dialogflow.cx.v3.UpdatePageRequest
	9,  // 24: google.cloud.dialogflow.cx.v3.Pages.DeletePage:input_type -> google.cloud.dialogflow.cx.v3.DeletePageRequest
	5,  // 25: google.cloud.dialogflow.cx.v3.Pages.ListPages:output_type -> google.cloud.dialogflow.cx.v3.ListPagesResponse
	0,  // 26: google.cloud.dialogflow.cx.v3.Pages.GetPage:output_type -> google.cloud.dialogflow.cx.v3.Page
	0,  // 27: google.cloud.dialogflow.cx.v3.Pages.CreatePage:output_type -> google.cloud.dialogflow.cx.v3.Page
	0,  // 28: google.cloud.dialogflow.cx.v3.Pages.UpdatePage:output_type -> google.cloud.dialogflow.cx.v3.Page
	18, // 29: google.cloud.dialogflow.cx.v3.Pages.DeletePage:output_type -> google.protobuf.Empty
	25, // [25:30] is the sub-list for method output_type
	20, // [20:25] is the sub-list for method input_type
	20, // [20:20] is the sub-list for extension type_name
	20, // [20:20] is the sub-list for extension extendee
	0,  // [0:20] is the sub-list for field type_name
}

func init() { file_google_cloud_dialogflow_cx_v3_page_proto_init() }
func file_google_cloud_dialogflow_cx_v3_page_proto_init() {
	if File_google_cloud_dialogflow_cx_v3_page_proto != nil {
		return
	}
	file_google_cloud_dialogflow_cx_v3_advanced_settings_proto_init()
	file_google_cloud_dialogflow_cx_v3_data_store_connection_proto_init()
	file_google_cloud_dialogflow_cx_v3_fulfillment_proto_init()
	file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes[2].OneofWrappers = []any{
		(*EventHandler_TargetPage)(nil),
		(*EventHandler_TargetFlow)(nil),
		(*EventHandler_TargetPlaybook)(nil),
	}
	file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes[3].OneofWrappers = []any{
		(*TransitionRoute_TargetPage)(nil),
		(*TransitionRoute_TargetFlow)(nil),
	}
	file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes[10].OneofWrappers = []any{
		(*KnowledgeConnectorSettings_TargetPage)(nil),
		(*KnowledgeConnectorSettings_TargetFlow)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_google_cloud_dialogflow_cx_v3_page_proto_rawDesc), len(file_google_cloud_dialogflow_cx_v3_page_proto_rawDesc)),
			NumEnums:      0,
			NumMessages:   13,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_google_cloud_dialogflow_cx_v3_page_proto_goTypes,
		DependencyIndexes: file_google_cloud_dialogflow_cx_v3_page_proto_depIdxs,
		MessageInfos:      file_google_cloud_dialogflow_cx_v3_page_proto_msgTypes,
	}.Build()
	File_google_cloud_dialogflow_cx_v3_page_proto = out.File
	file_google_cloud_dialogflow_cx_v3_page_proto_goTypes = nil
	file_google_cloud_dialogflow_cx_v3_page_proto_depIdxs = nil
}
