// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.11
// 	protoc        v3.21.12
// source: yandex/cloud/searchapi/v2/gen_search_service.proto

package searchapi

import (
	_ "github.com/yandex-cloud/go-genproto/yandex/cloud"
	_ "google.golang.org/genproto/googleapis/api/annotations"
	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
	reflect "reflect"
	sync "sync"
	unsafe "unsafe"
)

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

type Role int32

const (
	Role_ROLE_UNSPECIFIED Role = 0
	// The message is sent by the user.
	Role_ROLE_USER Role = 1
	// The message is sent by the model.
	Role_ROLE_ASSISTANT Role = 2
)

// Enum value maps for Role.
var (
	Role_name = map[int32]string{
		0: "ROLE_UNSPECIFIED",
		1: "ROLE_USER",
		2: "ROLE_ASSISTANT",
	}
	Role_value = map[string]int32{
		"ROLE_UNSPECIFIED": 0,
		"ROLE_USER":        1,
		"ROLE_ASSISTANT":   2,
	}
)

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

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

func (Role) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_searchapi_v2_gen_search_service_proto_enumTypes[0].Descriptor()
}

func (Role) Type() protoreflect.EnumType {
	return &file_yandex_cloud_searchapi_v2_gen_search_service_proto_enumTypes[0]
}

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

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

type GenSearchRequest_SearchFilter_DocFormat int32

const (
	GenSearchRequest_SearchFilter_DOC_FORMAT_UNSPECIFIED GenSearchRequest_SearchFilter_DocFormat = 0
	GenSearchRequest_SearchFilter_DOC_FORMAT_PDF         GenSearchRequest_SearchFilter_DocFormat = 1
	GenSearchRequest_SearchFilter_DOC_FORMAT_XLS         GenSearchRequest_SearchFilter_DocFormat = 2
	GenSearchRequest_SearchFilter_DOC_FORMAT_ODS         GenSearchRequest_SearchFilter_DocFormat = 3
	GenSearchRequest_SearchFilter_DOC_FORMAT_RTF         GenSearchRequest_SearchFilter_DocFormat = 4
	GenSearchRequest_SearchFilter_DOC_FORMAT_PPT         GenSearchRequest_SearchFilter_DocFormat = 5
	GenSearchRequest_SearchFilter_DOC_FORMAT_ODP         GenSearchRequest_SearchFilter_DocFormat = 6
	GenSearchRequest_SearchFilter_DOC_FORMAT_SWF         GenSearchRequest_SearchFilter_DocFormat = 7
	GenSearchRequest_SearchFilter_DOC_FORMAT_ODT         GenSearchRequest_SearchFilter_DocFormat = 8
	GenSearchRequest_SearchFilter_DOC_FORMAT_ODG         GenSearchRequest_SearchFilter_DocFormat = 9
	GenSearchRequest_SearchFilter_DOC_FORMAT_DOC         GenSearchRequest_SearchFilter_DocFormat = 10
)

// Enum value maps for GenSearchRequest_SearchFilter_DocFormat.
var (
	GenSearchRequest_SearchFilter_DocFormat_name = map[int32]string{
		0:  "DOC_FORMAT_UNSPECIFIED",
		1:  "DOC_FORMAT_PDF",
		2:  "DOC_FORMAT_XLS",
		3:  "DOC_FORMAT_ODS",
		4:  "DOC_FORMAT_RTF",
		5:  "DOC_FORMAT_PPT",
		6:  "DOC_FORMAT_ODP",
		7:  "DOC_FORMAT_SWF",
		8:  "DOC_FORMAT_ODT",
		9:  "DOC_FORMAT_ODG",
		10: "DOC_FORMAT_DOC",
	}
	GenSearchRequest_SearchFilter_DocFormat_value = map[string]int32{
		"DOC_FORMAT_UNSPECIFIED": 0,
		"DOC_FORMAT_PDF":         1,
		"DOC_FORMAT_XLS":         2,
		"DOC_FORMAT_ODS":         3,
		"DOC_FORMAT_RTF":         4,
		"DOC_FORMAT_PPT":         5,
		"DOC_FORMAT_ODP":         6,
		"DOC_FORMAT_SWF":         7,
		"DOC_FORMAT_ODT":         8,
		"DOC_FORMAT_ODG":         9,
		"DOC_FORMAT_DOC":         10,
	}
)

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

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

func (GenSearchRequest_SearchFilter_DocFormat) Descriptor() protoreflect.EnumDescriptor {
	return file_yandex_cloud_searchapi_v2_gen_search_service_proto_enumTypes[1].Descriptor()
}

func (GenSearchRequest_SearchFilter_DocFormat) Type() protoreflect.EnumType {
	return &file_yandex_cloud_searchapi_v2_gen_search_service_proto_enumTypes[1]
}

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

// Deprecated: Use GenSearchRequest_SearchFilter_DocFormat.Descriptor instead.
func (GenSearchRequest_SearchFilter_DocFormat) EnumDescriptor() ([]byte, []int) {
	return file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDescGZIP(), []int{1, 3, 0}
}

type GenSearchMessage struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Text of user query or the model's response (depending on the role value).
	Content string `protobuf:"bytes,1,opt,name=content,proto3" json:"content,omitempty"`
	// Message sender's role
	Role          Role `protobuf:"varint,2,opt,name=role,proto3,enum=yandex.cloud.searchapi.v2.Role" json:"role,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GenSearchMessage) ProtoMessage() {}

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

func (x *GenSearchMessage) GetContent() string {
	if x != nil {
		return x.Content
	}
	return ""
}

func (x *GenSearchMessage) GetRole() Role {
	if x != nil {
		return x.Role
	}
	return Role_ROLE_UNSPECIFIED
}

type GenSearchRequest struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Single search query or a search query with context in the form of chat with the model.
	Messages []*GenSearchMessage `protobuf:"bytes,1,rep,name=messages,proto3" json:"messages,omitempty"`
	// ID of the folder.
	FolderId string `protobuf:"bytes,2,opt,name=folder_id,json=folderId,proto3" json:"folder_id,omitempty"`
	// Restricts the search to the specific websites, hosts or pages.
	//
	// Types that are valid to be assigned to SiteOptions:
	//
	//	*GenSearchRequest_Site
	//	*GenSearchRequest_Host
	//	*GenSearchRequest_Url
	SiteOptions isGenSearchRequest_SiteOptions `protobuf_oneof:"site_options"`
	// Fix query misspells.
	FixMisspell bool `protobuf:"varint,6,opt,name=fix_misspell,json=fixMisspell,proto3" json:"fix_misspell,omitempty"`
	// Use the documents inaccessible from the site's front page.
	EnableNrfmDocs bool `protobuf:"varint,7,opt,name=enable_nrfm_docs,json=enableNrfmDocs,proto3" json:"enable_nrfm_docs,omitempty"`
	// Restricts the search by date, document formats or language.
	SearchFilters []*GenSearchRequest_SearchFilter `protobuf:"bytes,8,rep,name=search_filters,json=searchFilters,proto3" json:"search_filters,omitempty"`
	// Search type that determines the domain name that will be used for the search queries.
	SearchType SearchQuery_SearchType `protobuf:"varint,9,opt,name=search_type,json=searchType,proto3,enum=yandex.cloud.searchapi.v2.SearchQuery_SearchType" json:"search_type,omitempty"`
	// Get partial results
	GetPartialResults bool `protobuf:"varint,10,opt,name=get_partial_results,json=getPartialResults,proto3" json:"get_partial_results,omitempty"`
	// Search flags
	Metadata *SearchMetadata `protobuf:"bytes,11,opt,name=metadata,proto3" json:"metadata,omitempty"`
	// Return rich structured answer
	EnableRichStructuredAnswer bool `protobuf:"varint,12,opt,name=enable_rich_structured_answer,json=enableRichStructuredAnswer,proto3" json:"enable_rich_structured_answer,omitempty"`
	unknownFields              protoimpl.UnknownFields
	sizeCache                  protoimpl.SizeCache
}

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

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

func (*GenSearchRequest) ProtoMessage() {}

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

func (x *GenSearchRequest) GetMessages() []*GenSearchMessage {
	if x != nil {
		return x.Messages
	}
	return nil
}

func (x *GenSearchRequest) GetFolderId() string {
	if x != nil {
		return x.FolderId
	}
	return ""
}

func (x *GenSearchRequest) GetSiteOptions() isGenSearchRequest_SiteOptions {
	if x != nil {
		return x.SiteOptions
	}
	return nil
}

func (x *GenSearchRequest) GetSite() *GenSearchRequest_SiteOption {
	if x != nil {
		if x, ok := x.SiteOptions.(*GenSearchRequest_Site); ok {
			return x.Site
		}
	}
	return nil
}

func (x *GenSearchRequest) GetHost() *GenSearchRequest_HostOption {
	if x != nil {
		if x, ok := x.SiteOptions.(*GenSearchRequest_Host); ok {
			return x.Host
		}
	}
	return nil
}

func (x *GenSearchRequest) GetUrl() *GenSearchRequest_UrlOption {
	if x != nil {
		if x, ok := x.SiteOptions.(*GenSearchRequest_Url); ok {
			return x.Url
		}
	}
	return nil
}

func (x *GenSearchRequest) GetFixMisspell() bool {
	if x != nil {
		return x.FixMisspell
	}
	return false
}

func (x *GenSearchRequest) GetEnableNrfmDocs() bool {
	if x != nil {
		return x.EnableNrfmDocs
	}
	return false
}

func (x *GenSearchRequest) GetSearchFilters() []*GenSearchRequest_SearchFilter {
	if x != nil {
		return x.SearchFilters
	}
	return nil
}

func (x *GenSearchRequest) GetSearchType() SearchQuery_SearchType {
	if x != nil {
		return x.SearchType
	}
	return SearchQuery_SEARCH_TYPE_UNSPECIFIED
}

func (x *GenSearchRequest) GetGetPartialResults() bool {
	if x != nil {
		return x.GetPartialResults
	}
	return false
}

func (x *GenSearchRequest) GetMetadata() *SearchMetadata {
	if x != nil {
		return x.Metadata
	}
	return nil
}

func (x *GenSearchRequest) GetEnableRichStructuredAnswer() bool {
	if x != nil {
		return x.EnableRichStructuredAnswer
	}
	return false
}

type isGenSearchRequest_SiteOptions interface {
	isGenSearchRequest_SiteOptions()
}

type GenSearchRequest_Site struct {
	Site *GenSearchRequest_SiteOption `protobuf:"bytes,3,opt,name=site,proto3,oneof"`
}

type GenSearchRequest_Host struct {
	Host *GenSearchRequest_HostOption `protobuf:"bytes,4,opt,name=host,proto3,oneof"`
}

type GenSearchRequest_Url struct {
	Url *GenSearchRequest_UrlOption `protobuf:"bytes,5,opt,name=url,proto3,oneof"`
}

func (*GenSearchRequest_Site) isGenSearchRequest_SiteOptions() {}

func (*GenSearchRequest_Host) isGenSearchRequest_SiteOptions() {}

func (*GenSearchRequest_Url) isGenSearchRequest_SiteOptions() {}

type GenSearchResponse struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// The text of the generative response.
	Message *GenSearchMessage `protobuf:"bytes,1,opt,name=message,proto3" json:"message,omitempty"`
	// The documents used to form the generative response.
	Sources []*GenSearchResponse_Source `protobuf:"bytes,2,rep,name=sources,proto3" json:"sources,omitempty"`
	// The search queries, refined by the YandexGPT model and used for the generative response.
	SearchQueries []*GenSearchResponse_SearchQuery `protobuf:"bytes,3,rep,name=search_queries,json=searchQueries,proto3" json:"search_queries,omitempty"`
	// The text of the search query with fixed misspells.
	FixedMisspellQuery string `protobuf:"bytes,4,opt,name=fixed_misspell_query,json=fixedMisspellQuery,proto3" json:"fixed_misspell_query,omitempty"`
	// The model failed to answer due to the ethical concerns.
	IsAnswerRejected bool `protobuf:"varint,5,opt,name=is_answer_rejected,json=isAnswerRejected,proto3" json:"is_answer_rejected,omitempty"`
	// A bullet answer in case the model cannot give a proper response and returns a set of bullets with various data.
	IsBulletAnswer bool `protobuf:"varint,6,opt,name=is_bullet_answer,json=isBulletAnswer,proto3" json:"is_bullet_answer,omitempty"`
	// Search hints
	Hints []string `protobuf:"bytes,7,rep,name=hints,proto3" json:"hints,omitempty"`
	// The answer may contain inappropriate content
	ProblematicAnswer bool `protobuf:"varint,8,opt,name=problematic_answer,json=problematicAnswer,proto3" json:"problematic_answer,omitempty"`
	unknownFields     protoimpl.UnknownFields
	sizeCache         protoimpl.SizeCache
}

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

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

func (*GenSearchResponse) ProtoMessage() {}

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

func (x *GenSearchResponse) GetMessage() *GenSearchMessage {
	if x != nil {
		return x.Message
	}
	return nil
}

func (x *GenSearchResponse) GetSources() []*GenSearchResponse_Source {
	if x != nil {
		return x.Sources
	}
	return nil
}

func (x *GenSearchResponse) GetSearchQueries() []*GenSearchResponse_SearchQuery {
	if x != nil {
		return x.SearchQueries
	}
	return nil
}

func (x *GenSearchResponse) GetFixedMisspellQuery() string {
	if x != nil {
		return x.FixedMisspellQuery
	}
	return ""
}

func (x *GenSearchResponse) GetIsAnswerRejected() bool {
	if x != nil {
		return x.IsAnswerRejected
	}
	return false
}

func (x *GenSearchResponse) GetIsBulletAnswer() bool {
	if x != nil {
		return x.IsBulletAnswer
	}
	return false
}

func (x *GenSearchResponse) GetHints() []string {
	if x != nil {
		return x.Hints
	}
	return nil
}

func (x *GenSearchResponse) GetProblematicAnswer() bool {
	if x != nil {
		return x.ProblematicAnswer
	}
	return false
}

type GenSearchRequest_SiteOption struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Restricts the search to the specific websites.
	Site          []string `protobuf:"bytes,1,rep,name=site,proto3" json:"site,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GenSearchRequest_SiteOption) ProtoMessage() {}

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

func (x *GenSearchRequest_SiteOption) GetSite() []string {
	if x != nil {
		return x.Site
	}
	return nil
}

type GenSearchRequest_UrlOption struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Restricts the search to the specific pages.
	Url           []string `protobuf:"bytes,1,rep,name=url,proto3" json:"url,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GenSearchRequest_UrlOption) ProtoMessage() {}

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

func (x *GenSearchRequest_UrlOption) GetUrl() []string {
	if x != nil {
		return x.Url
	}
	return nil
}

type GenSearchRequest_HostOption struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Restricts the search to the specific hosts.
	Host          []string `protobuf:"bytes,1,rep,name=host,proto3" json:"host,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GenSearchRequest_HostOption) ProtoMessage() {}

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

func (x *GenSearchRequest_HostOption) GetHost() []string {
	if x != nil {
		return x.Host
	}
	return nil
}

type GenSearchRequest_SearchFilter struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Types that are valid to be assigned to FilterOptions:
	//
	//	*GenSearchRequest_SearchFilter_Date
	//	*GenSearchRequest_SearchFilter_Lang
	//	*GenSearchRequest_SearchFilter_Format
	FilterOptions isGenSearchRequest_SearchFilter_FilterOptions `protobuf_oneof:"filter_options"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GenSearchRequest_SearchFilter) ProtoMessage() {}

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

func (x *GenSearchRequest_SearchFilter) GetFilterOptions() isGenSearchRequest_SearchFilter_FilterOptions {
	if x != nil {
		return x.FilterOptions
	}
	return nil
}

func (x *GenSearchRequest_SearchFilter) GetDate() string {
	if x != nil {
		if x, ok := x.FilterOptions.(*GenSearchRequest_SearchFilter_Date); ok {
			return x.Date
		}
	}
	return ""
}

func (x *GenSearchRequest_SearchFilter) GetLang() string {
	if x != nil {
		if x, ok := x.FilterOptions.(*GenSearchRequest_SearchFilter_Lang); ok {
			return x.Lang
		}
	}
	return ""
}

func (x *GenSearchRequest_SearchFilter) GetFormat() GenSearchRequest_SearchFilter_DocFormat {
	if x != nil {
		if x, ok := x.FilterOptions.(*GenSearchRequest_SearchFilter_Format); ok {
			return x.Format
		}
	}
	return GenSearchRequest_SearchFilter_DOC_FORMAT_UNSPECIFIED
}

type isGenSearchRequest_SearchFilter_FilterOptions interface {
	isGenSearchRequest_SearchFilter_FilterOptions()
}

type GenSearchRequest_SearchFilter_Date struct {
	// Restrict by document date. See https://yandex.ru/support/search/ru/query-language/search-operators details.
	Date string `protobuf:"bytes,1,opt,name=date,proto3,oneof"`
}

type GenSearchRequest_SearchFilter_Lang struct {
	// Restrict by document language. Use ISO 639-1 language codes.
	Lang string `protobuf:"bytes,2,opt,name=lang,proto3,oneof"`
}

type GenSearchRequest_SearchFilter_Format struct {
	// Restrict by document format.
	Format GenSearchRequest_SearchFilter_DocFormat `protobuf:"varint,3,opt,name=format,proto3,enum=yandex.cloud.searchapi.v2.GenSearchRequest_SearchFilter_DocFormat,oneof"`
}

func (*GenSearchRequest_SearchFilter_Date) isGenSearchRequest_SearchFilter_FilterOptions() {}

func (*GenSearchRequest_SearchFilter_Lang) isGenSearchRequest_SearchFilter_FilterOptions() {}

func (*GenSearchRequest_SearchFilter_Format) isGenSearchRequest_SearchFilter_FilterOptions() {}

type GenSearchResponse_Source struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Document URL.
	Url string `protobuf:"bytes,1,opt,name=url,proto3" json:"url,omitempty"`
	// Document title.
	Title string `protobuf:"bytes,2,opt,name=title,proto3" json:"title,omitempty"`
	// The document was used in the answer.
	Used          bool `protobuf:"varint,3,opt,name=used,proto3" json:"used,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GenSearchResponse_Source) ProtoMessage() {}

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

func (x *GenSearchResponse_Source) GetUrl() string {
	if x != nil {
		return x.Url
	}
	return ""
}

func (x *GenSearchResponse_Source) GetTitle() string {
	if x != nil {
		return x.Title
	}
	return ""
}

func (x *GenSearchResponse_Source) GetUsed() bool {
	if x != nil {
		return x.Used
	}
	return false
}

type GenSearchResponse_SearchQuery struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Query text.
	Text string `protobuf:"bytes,1,opt,name=text,proto3" json:"text,omitempty"`
	// Query ID in Yandex Search.
	ReqId         string `protobuf:"bytes,2,opt,name=req_id,json=reqId,proto3" json:"req_id,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*GenSearchResponse_SearchQuery) ProtoMessage() {}

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

func (x *GenSearchResponse_SearchQuery) GetText() string {
	if x != nil {
		return x.Text
	}
	return ""
}

func (x *GenSearchResponse_SearchQuery) GetReqId() string {
	if x != nil {
		return x.ReqId
	}
	return ""
}

var File_yandex_cloud_searchapi_v2_gen_search_service_proto protoreflect.FileDescriptor

const file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDesc = "" +
	"\n" +
	"2yandex/cloud/searchapi/v2/gen_search_service.proto\x12\x19yandex.cloud.searchapi.v2\x1a\x1dyandex/cloud/validation.proto\x1a,yandex/cloud/searchapi/v2/search_query.proto\x1a\x1cgoogle/api/annotations.proto\"x\n" +
	"\x10GenSearchMessage\x12)\n" +
	"\acontent\x18\x01 \x01(\tB\x0f\xe8\xc71\x01\x8a\xc81\a<=16384R\acontent\x129\n" +
	"\x04role\x18\x02 \x01(\x0e2\x1f.yandex.cloud.searchapi.v2.RoleB\x04\xe8\xc71\x01R\x04role\"\xa0\v\n" +
	"\x10GenSearchRequest\x12R\n" +
	"\bmessages\x18\x01 \x03(\v2+.yandex.cloud.searchapi.v2.GenSearchMessageB\t\x82\xc81\x051-100R\bmessages\x12)\n" +
	"\tfolder_id\x18\x02 \x01(\tB\f\xe8\xc71\x01\x8a\xc81\x04<=50R\bfolderId\x12L\n" +
	"\x04site\x18\x03 \x01(\v26.yandex.cloud.searchapi.v2.GenSearchRequest.SiteOptionH\x00R\x04site\x12L\n" +
	"\x04host\x18\x04 \x01(\v26.yandex.cloud.searchapi.v2.GenSearchRequest.HostOptionH\x00R\x04host\x12I\n" +
	"\x03url\x18\x05 \x01(\v25.yandex.cloud.searchapi.v2.GenSearchRequest.UrlOptionH\x00R\x03url\x12!\n" +
	"\ffix_misspell\x18\x06 \x01(\bR\vfixMisspell\x12(\n" +
	"\x10enable_nrfm_docs\x18\a \x01(\bR\x0eenableNrfmDocs\x12i\n" +
	"\x0esearch_filters\x18\b \x03(\v28.yandex.cloud.searchapi.v2.GenSearchRequest.SearchFilterB\b\x82\xc81\x04<=10R\rsearchFilters\x12R\n" +
	"\vsearch_type\x18\t \x01(\x0e21.yandex.cloud.searchapi.v2.SearchQuery.SearchTypeR\n" +
	"searchType\x12.\n" +
	"\x13get_partial_results\x18\n" +
	" \x01(\bR\x11getPartialResults\x12E\n" +
	"\bmetadata\x18\v \x01(\v2).yandex.cloud.searchapi.v2.SearchMetadataR\bmetadata\x12A\n" +
	"\x1denable_rich_structured_answer\x18\f \x01(\bR\x1aenableRichStructuredAnswer\x1a5\n" +
	"\n" +
	"SiteOption\x12'\n" +
	"\x04site\x18\x01 \x03(\tB\x13\x82\xc81\x05<=100\x8a\xc81\x06<=1024R\x04site\x1a2\n" +
	"\tUrlOption\x12%\n" +
	"\x03url\x18\x01 \x03(\tB\x13\x82\xc81\x05<=100\x8a\xc81\x06<=1024R\x03url\x1a5\n" +
	"\n" +
	"HostOption\x12'\n" +
	"\x04host\x18\x01 \x03(\tB\x13\x82\xc81\x05<=100\x8a\xc81\x06<=1024R\x04host\x1a\xad\x03\n" +
	"\fSearchFilter\x12\x1e\n" +
	"\x04date\x18\x01 \x01(\tB\b\x8a\xc81\x04<=25H\x00R\x04date\x12\x1b\n" +
	"\x04lang\x18\x02 \x01(\tB\x05\x8a\xc81\x012H\x00R\x04lang\x12\\\n" +
	"\x06format\x18\x03 \x01(\x0e2B.yandex.cloud.searchapi.v2.GenSearchRequest.SearchFilter.DocFormatH\x00R\x06format\"\xef\x01\n" +
	"\tDocFormat\x12\x1a\n" +
	"\x16DOC_FORMAT_UNSPECIFIED\x10\x00\x12\x12\n" +
	"\x0eDOC_FORMAT_PDF\x10\x01\x12\x12\n" +
	"\x0eDOC_FORMAT_XLS\x10\x02\x12\x12\n" +
	"\x0eDOC_FORMAT_ODS\x10\x03\x12\x12\n" +
	"\x0eDOC_FORMAT_RTF\x10\x04\x12\x12\n" +
	"\x0eDOC_FORMAT_PPT\x10\x05\x12\x12\n" +
	"\x0eDOC_FORMAT_ODP\x10\x06\x12\x12\n" +
	"\x0eDOC_FORMAT_SWF\x10\a\x12\x12\n" +
	"\x0eDOC_FORMAT_ODT\x10\b\x12\x12\n" +
	"\x0eDOC_FORMAT_ODG\x10\t\x12\x12\n" +
	"\x0eDOC_FORMAT_DOC\x10\n" +
	"B\x10\n" +
	"\x0efilter_optionsB\x0e\n" +
	"\fsite_options\"\xd9\x04\n" +
	"\x11GenSearchResponse\x12E\n" +
	"\amessage\x18\x01 \x01(\v2+.yandex.cloud.searchapi.v2.GenSearchMessageR\amessage\x12M\n" +
	"\asources\x18\x02 \x03(\v23.yandex.cloud.searchapi.v2.GenSearchResponse.SourceR\asources\x12_\n" +
	"\x0esearch_queries\x18\x03 \x03(\v28.yandex.cloud.searchapi.v2.GenSearchResponse.SearchQueryR\rsearchQueries\x120\n" +
	"\x14fixed_misspell_query\x18\x04 \x01(\tR\x12fixedMisspellQuery\x12,\n" +
	"\x12is_answer_rejected\x18\x05 \x01(\bR\x10isAnswerRejected\x12(\n" +
	"\x10is_bullet_answer\x18\x06 \x01(\bR\x0eisBulletAnswer\x12\x14\n" +
	"\x05hints\x18\a \x03(\tR\x05hints\x12-\n" +
	"\x12problematic_answer\x18\b \x01(\bR\x11problematicAnswer\x1aD\n" +
	"\x06Source\x12\x10\n" +
	"\x03url\x18\x01 \x01(\tR\x03url\x12\x14\n" +
	"\x05title\x18\x02 \x01(\tR\x05title\x12\x12\n" +
	"\x04used\x18\x03 \x01(\bR\x04used\x1a8\n" +
	"\vSearchQuery\x12\x12\n" +
	"\x04text\x18\x01 \x01(\tR\x04text\x12\x15\n" +
	"\x06req_id\x18\x02 \x01(\tR\x05reqId*?\n" +
	"\x04Role\x12\x14\n" +
	"\x10ROLE_UNSPECIFIED\x10\x00\x12\r\n" +
	"\tROLE_USER\x10\x01\x12\x12\n" +
	"\x0eROLE_ASSISTANT\x10\x022\x95\x01\n" +
	"\x10GenSearchService\x12\x80\x01\n" +
	"\x06Search\x12+.yandex.cloud.searchapi.v2.GenSearchRequest\x1a,.yandex.cloud.searchapi.v2.GenSearchResponse\"\x19\x82\xd3\xe4\x93\x02\x13:\x01*\"\x0e/v2/gen/search0\x01Be\n" +
	"\x1ayandex.cloud.api.search.v2ZGgithub.com/yandex-cloud/go-genproto/yandex/cloud/searchapi/v2;searchapib\x06proto3"

var (
	file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDescOnce sync.Once
	file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDescData []byte
)

func file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDescGZIP() []byte {
	file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDescOnce.Do(func() {
		file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDesc), len(file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDesc)))
	})
	return file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDescData
}

var file_yandex_cloud_searchapi_v2_gen_search_service_proto_enumTypes = make([]protoimpl.EnumInfo, 2)
var file_yandex_cloud_searchapi_v2_gen_search_service_proto_msgTypes = make([]protoimpl.MessageInfo, 9)
var file_yandex_cloud_searchapi_v2_gen_search_service_proto_goTypes = []any{
	(Role)(0), // 0: yandex.cloud.searchapi.v2.Role
	(GenSearchRequest_SearchFilter_DocFormat)(0), // 1: yandex.cloud.searchapi.v2.GenSearchRequest.SearchFilter.DocFormat
	(*GenSearchMessage)(nil),                     // 2: yandex.cloud.searchapi.v2.GenSearchMessage
	(*GenSearchRequest)(nil),                     // 3: yandex.cloud.searchapi.v2.GenSearchRequest
	(*GenSearchResponse)(nil),                    // 4: yandex.cloud.searchapi.v2.GenSearchResponse
	(*GenSearchRequest_SiteOption)(nil),          // 5: yandex.cloud.searchapi.v2.GenSearchRequest.SiteOption
	(*GenSearchRequest_UrlOption)(nil),           // 6: yandex.cloud.searchapi.v2.GenSearchRequest.UrlOption
	(*GenSearchRequest_HostOption)(nil),          // 7: yandex.cloud.searchapi.v2.GenSearchRequest.HostOption
	(*GenSearchRequest_SearchFilter)(nil),        // 8: yandex.cloud.searchapi.v2.GenSearchRequest.SearchFilter
	(*GenSearchResponse_Source)(nil),             // 9: yandex.cloud.searchapi.v2.GenSearchResponse.Source
	(*GenSearchResponse_SearchQuery)(nil),        // 10: yandex.cloud.searchapi.v2.GenSearchResponse.SearchQuery
	(SearchQuery_SearchType)(0),                  // 11: yandex.cloud.searchapi.v2.SearchQuery.SearchType
	(*SearchMetadata)(nil),                       // 12: yandex.cloud.searchapi.v2.SearchMetadata
}
var file_yandex_cloud_searchapi_v2_gen_search_service_proto_depIdxs = []int32{
	0,  // 0: yandex.cloud.searchapi.v2.GenSearchMessage.role:type_name -> yandex.cloud.searchapi.v2.Role
	2,  // 1: yandex.cloud.searchapi.v2.GenSearchRequest.messages:type_name -> yandex.cloud.searchapi.v2.GenSearchMessage
	5,  // 2: yandex.cloud.searchapi.v2.GenSearchRequest.site:type_name -> yandex.cloud.searchapi.v2.GenSearchRequest.SiteOption
	7,  // 3: yandex.cloud.searchapi.v2.GenSearchRequest.host:type_name -> yandex.cloud.searchapi.v2.GenSearchRequest.HostOption
	6,  // 4: yandex.cloud.searchapi.v2.GenSearchRequest.url:type_name -> yandex.cloud.searchapi.v2.GenSearchRequest.UrlOption
	8,  // 5: yandex.cloud.searchapi.v2.GenSearchRequest.search_filters:type_name -> yandex.cloud.searchapi.v2.GenSearchRequest.SearchFilter
	11, // 6: yandex.cloud.searchapi.v2.GenSearchRequest.search_type:type_name -> yandex.cloud.searchapi.v2.SearchQuery.SearchType
	12, // 7: yandex.cloud.searchapi.v2.GenSearchRequest.metadata:type_name -> yandex.cloud.searchapi.v2.SearchMetadata
	2,  // 8: yandex.cloud.searchapi.v2.GenSearchResponse.message:type_name -> yandex.cloud.searchapi.v2.GenSearchMessage
	9,  // 9: yandex.cloud.searchapi.v2.GenSearchResponse.sources:type_name -> yandex.cloud.searchapi.v2.GenSearchResponse.Source
	10, // 10: yandex.cloud.searchapi.v2.GenSearchResponse.search_queries:type_name -> yandex.cloud.searchapi.v2.GenSearchResponse.SearchQuery
	1,  // 11: yandex.cloud.searchapi.v2.GenSearchRequest.SearchFilter.format:type_name -> yandex.cloud.searchapi.v2.GenSearchRequest.SearchFilter.DocFormat
	3,  // 12: yandex.cloud.searchapi.v2.GenSearchService.Search:input_type -> yandex.cloud.searchapi.v2.GenSearchRequest
	4,  // 13: yandex.cloud.searchapi.v2.GenSearchService.Search:output_type -> yandex.cloud.searchapi.v2.GenSearchResponse
	13, // [13:14] is the sub-list for method output_type
	12, // [12:13] is the sub-list for method input_type
	12, // [12:12] is the sub-list for extension type_name
	12, // [12:12] is the sub-list for extension extendee
	0,  // [0:12] is the sub-list for field type_name
}

func init() { file_yandex_cloud_searchapi_v2_gen_search_service_proto_init() }
func file_yandex_cloud_searchapi_v2_gen_search_service_proto_init() {
	if File_yandex_cloud_searchapi_v2_gen_search_service_proto != nil {
		return
	}
	file_yandex_cloud_searchapi_v2_search_query_proto_init()
	file_yandex_cloud_searchapi_v2_gen_search_service_proto_msgTypes[1].OneofWrappers = []any{
		(*GenSearchRequest_Site)(nil),
		(*GenSearchRequest_Host)(nil),
		(*GenSearchRequest_Url)(nil),
	}
	file_yandex_cloud_searchapi_v2_gen_search_service_proto_msgTypes[6].OneofWrappers = []any{
		(*GenSearchRequest_SearchFilter_Date)(nil),
		(*GenSearchRequest_SearchFilter_Lang)(nil),
		(*GenSearchRequest_SearchFilter_Format)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDesc), len(file_yandex_cloud_searchapi_v2_gen_search_service_proto_rawDesc)),
			NumEnums:      2,
			NumMessages:   9,
			NumExtensions: 0,
			NumServices:   1,
		},
		GoTypes:           file_yandex_cloud_searchapi_v2_gen_search_service_proto_goTypes,
		DependencyIndexes: file_yandex_cloud_searchapi_v2_gen_search_service_proto_depIdxs,
		EnumInfos:         file_yandex_cloud_searchapi_v2_gen_search_service_proto_enumTypes,
		MessageInfos:      file_yandex_cloud_searchapi_v2_gen_search_service_proto_msgTypes,
	}.Build()
	File_yandex_cloud_searchapi_v2_gen_search_service_proto = out.File
	file_yandex_cloud_searchapi_v2_gen_search_service_proto_goTypes = nil
	file_yandex_cloud_searchapi_v2_gen_search_service_proto_depIdxs = nil
}
