// Code generated by protoc-gen-go. DO NOT EDIT.
// versions:
// 	protoc-gen-go v1.36.6
// 	protoc        v5.29.3
// source: meshtastic/storeforward.proto

package meshtastic

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

// 001 - 063 = From Router
// 064 - 127 = From Client
type StoreAndForward_RequestResponse int32

const (
	// Unset/unused
	StoreAndForward_UNSET StoreAndForward_RequestResponse = 0
	// Router is an in error state.
	StoreAndForward_ROUTER_ERROR StoreAndForward_RequestResponse = 1
	// Router heartbeat
	StoreAndForward_ROUTER_HEARTBEAT StoreAndForward_RequestResponse = 2
	// Router has requested the client respond. This can work as a
	// "are you there" message.
	StoreAndForward_ROUTER_PING StoreAndForward_RequestResponse = 3
	// The response to a "Ping"
	StoreAndForward_ROUTER_PONG StoreAndForward_RequestResponse = 4
	// Router is currently busy. Please try again later.
	StoreAndForward_ROUTER_BUSY StoreAndForward_RequestResponse = 5
	// Router is responding to a request for history.
	StoreAndForward_ROUTER_HISTORY StoreAndForward_RequestResponse = 6
	// Router is responding to a request for stats.
	StoreAndForward_ROUTER_STATS StoreAndForward_RequestResponse = 7
	// Router sends a text message from its history that was a direct message.
	StoreAndForward_ROUTER_TEXT_DIRECT StoreAndForward_RequestResponse = 8
	// Router sends a text message from its history that was a broadcast.
	StoreAndForward_ROUTER_TEXT_BROADCAST StoreAndForward_RequestResponse = 9
	// Client is an in error state.
	StoreAndForward_CLIENT_ERROR StoreAndForward_RequestResponse = 64
	// Client has requested a replay from the router.
	StoreAndForward_CLIENT_HISTORY StoreAndForward_RequestResponse = 65
	// Client has requested stats from the router.
	StoreAndForward_CLIENT_STATS StoreAndForward_RequestResponse = 66
	// Client has requested the router respond. This can work as a
	// "are you there" message.
	StoreAndForward_CLIENT_PING StoreAndForward_RequestResponse = 67
	// The response to a "Ping"
	StoreAndForward_CLIENT_PONG StoreAndForward_RequestResponse = 68
	// Client has requested that the router abort processing the client's request
	StoreAndForward_CLIENT_ABORT StoreAndForward_RequestResponse = 106
)

// Enum value maps for StoreAndForward_RequestResponse.
var (
	StoreAndForward_RequestResponse_name = map[int32]string{
		0:   "UNSET",
		1:   "ROUTER_ERROR",
		2:   "ROUTER_HEARTBEAT",
		3:   "ROUTER_PING",
		4:   "ROUTER_PONG",
		5:   "ROUTER_BUSY",
		6:   "ROUTER_HISTORY",
		7:   "ROUTER_STATS",
		8:   "ROUTER_TEXT_DIRECT",
		9:   "ROUTER_TEXT_BROADCAST",
		64:  "CLIENT_ERROR",
		65:  "CLIENT_HISTORY",
		66:  "CLIENT_STATS",
		67:  "CLIENT_PING",
		68:  "CLIENT_PONG",
		106: "CLIENT_ABORT",
	}
	StoreAndForward_RequestResponse_value = map[string]int32{
		"UNSET":                 0,
		"ROUTER_ERROR":          1,
		"ROUTER_HEARTBEAT":      2,
		"ROUTER_PING":           3,
		"ROUTER_PONG":           4,
		"ROUTER_BUSY":           5,
		"ROUTER_HISTORY":        6,
		"ROUTER_STATS":          7,
		"ROUTER_TEXT_DIRECT":    8,
		"ROUTER_TEXT_BROADCAST": 9,
		"CLIENT_ERROR":          64,
		"CLIENT_HISTORY":        65,
		"CLIENT_STATS":          66,
		"CLIENT_PING":           67,
		"CLIENT_PONG":           68,
		"CLIENT_ABORT":          106,
	}
)

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

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

func (StoreAndForward_RequestResponse) Descriptor() protoreflect.EnumDescriptor {
	return file_meshtastic_storeforward_proto_enumTypes[0].Descriptor()
}

func (StoreAndForward_RequestResponse) Type() protoreflect.EnumType {
	return &file_meshtastic_storeforward_proto_enumTypes[0]
}

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

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

// TODO: REPLACE
type StoreAndForward struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// TODO: REPLACE
	Rr StoreAndForward_RequestResponse `protobuf:"varint,1,opt,name=rr,proto3,enum=meshtastic.StoreAndForward_RequestResponse" json:"rr,omitempty"`
	// TODO: REPLACE
	//
	// Types that are valid to be assigned to Variant:
	//
	//	*StoreAndForward_Stats
	//	*StoreAndForward_History_
	//	*StoreAndForward_Heartbeat_
	//	*StoreAndForward_Text
	Variant       isStoreAndForward_Variant `protobuf_oneof:"variant"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StoreAndForward) ProtoMessage() {}

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

func (x *StoreAndForward) GetRr() StoreAndForward_RequestResponse {
	if x != nil {
		return x.Rr
	}
	return StoreAndForward_UNSET
}

func (x *StoreAndForward) GetVariant() isStoreAndForward_Variant {
	if x != nil {
		return x.Variant
	}
	return nil
}

func (x *StoreAndForward) GetStats() *StoreAndForward_Statistics {
	if x != nil {
		if x, ok := x.Variant.(*StoreAndForward_Stats); ok {
			return x.Stats
		}
	}
	return nil
}

func (x *StoreAndForward) GetHistory() *StoreAndForward_History {
	if x != nil {
		if x, ok := x.Variant.(*StoreAndForward_History_); ok {
			return x.History
		}
	}
	return nil
}

func (x *StoreAndForward) GetHeartbeat() *StoreAndForward_Heartbeat {
	if x != nil {
		if x, ok := x.Variant.(*StoreAndForward_Heartbeat_); ok {
			return x.Heartbeat
		}
	}
	return nil
}

func (x *StoreAndForward) GetText() []byte {
	if x != nil {
		if x, ok := x.Variant.(*StoreAndForward_Text); ok {
			return x.Text
		}
	}
	return nil
}

type isStoreAndForward_Variant interface {
	isStoreAndForward_Variant()
}

type StoreAndForward_Stats struct {
	// TODO: REPLACE
	Stats *StoreAndForward_Statistics `protobuf:"bytes,2,opt,name=stats,proto3,oneof"`
}

type StoreAndForward_History_ struct {
	// TODO: REPLACE
	History *StoreAndForward_History `protobuf:"bytes,3,opt,name=history,proto3,oneof"`
}

type StoreAndForward_Heartbeat_ struct {
	// TODO: REPLACE
	Heartbeat *StoreAndForward_Heartbeat `protobuf:"bytes,4,opt,name=heartbeat,proto3,oneof"`
}

type StoreAndForward_Text struct {
	// Text from history message.
	Text []byte `protobuf:"bytes,5,opt,name=text,proto3,oneof"`
}

func (*StoreAndForward_Stats) isStoreAndForward_Variant() {}

func (*StoreAndForward_History_) isStoreAndForward_Variant() {}

func (*StoreAndForward_Heartbeat_) isStoreAndForward_Variant() {}

func (*StoreAndForward_Text) isStoreAndForward_Variant() {}

// TODO: REPLACE
type StoreAndForward_Statistics struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of messages we have ever seen
	MessagesTotal uint32 `protobuf:"varint,1,opt,name=messages_total,json=messagesTotal,proto3" json:"messages_total,omitempty"`
	// Number of messages we have currently saved our history.
	MessagesSaved uint32 `protobuf:"varint,2,opt,name=messages_saved,json=messagesSaved,proto3" json:"messages_saved,omitempty"`
	// Maximum number of messages we will save
	MessagesMax uint32 `protobuf:"varint,3,opt,name=messages_max,json=messagesMax,proto3" json:"messages_max,omitempty"`
	// Router uptime in seconds
	UpTime uint32 `protobuf:"varint,4,opt,name=up_time,json=upTime,proto3" json:"up_time,omitempty"`
	// Number of times any client sent a request to the S&F.
	Requests uint32 `protobuf:"varint,5,opt,name=requests,proto3" json:"requests,omitempty"`
	// Number of times the history was requested.
	RequestsHistory uint32 `protobuf:"varint,6,opt,name=requests_history,json=requestsHistory,proto3" json:"requests_history,omitempty"`
	// Is the heartbeat enabled on the server?
	Heartbeat bool `protobuf:"varint,7,opt,name=heartbeat,proto3" json:"heartbeat,omitempty"`
	// Maximum number of messages the server will return.
	ReturnMax uint32 `protobuf:"varint,8,opt,name=return_max,json=returnMax,proto3" json:"return_max,omitempty"`
	// Maximum history window in minutes the server will return messages from.
	ReturnWindow  uint32 `protobuf:"varint,9,opt,name=return_window,json=returnWindow,proto3" json:"return_window,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StoreAndForward_Statistics) ProtoMessage() {}

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

func (x *StoreAndForward_Statistics) GetMessagesTotal() uint32 {
	if x != nil {
		return x.MessagesTotal
	}
	return 0
}

func (x *StoreAndForward_Statistics) GetMessagesSaved() uint32 {
	if x != nil {
		return x.MessagesSaved
	}
	return 0
}

func (x *StoreAndForward_Statistics) GetMessagesMax() uint32 {
	if x != nil {
		return x.MessagesMax
	}
	return 0
}

func (x *StoreAndForward_Statistics) GetUpTime() uint32 {
	if x != nil {
		return x.UpTime
	}
	return 0
}

func (x *StoreAndForward_Statistics) GetRequests() uint32 {
	if x != nil {
		return x.Requests
	}
	return 0
}

func (x *StoreAndForward_Statistics) GetRequestsHistory() uint32 {
	if x != nil {
		return x.RequestsHistory
	}
	return 0
}

func (x *StoreAndForward_Statistics) GetHeartbeat() bool {
	if x != nil {
		return x.Heartbeat
	}
	return false
}

func (x *StoreAndForward_Statistics) GetReturnMax() uint32 {
	if x != nil {
		return x.ReturnMax
	}
	return 0
}

func (x *StoreAndForward_Statistics) GetReturnWindow() uint32 {
	if x != nil {
		return x.ReturnWindow
	}
	return 0
}

// TODO: REPLACE
type StoreAndForward_History struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Number of that will be sent to the client
	HistoryMessages uint32 `protobuf:"varint,1,opt,name=history_messages,json=historyMessages,proto3" json:"history_messages,omitempty"`
	// The window of messages that was used to filter the history client requested
	Window uint32 `protobuf:"varint,2,opt,name=window,proto3" json:"window,omitempty"`
	// Index in the packet history of the last message sent in a previous request to the server.
	// Will be sent to the client before sending the history and can be set in a subsequent request to avoid getting packets the server already sent to the client.
	LastRequest   uint32 `protobuf:"varint,3,opt,name=last_request,json=lastRequest,proto3" json:"last_request,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StoreAndForward_History) ProtoMessage() {}

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

func (x *StoreAndForward_History) GetHistoryMessages() uint32 {
	if x != nil {
		return x.HistoryMessages
	}
	return 0
}

func (x *StoreAndForward_History) GetWindow() uint32 {
	if x != nil {
		return x.Window
	}
	return 0
}

func (x *StoreAndForward_History) GetLastRequest() uint32 {
	if x != nil {
		return x.LastRequest
	}
	return 0
}

// TODO: REPLACE
type StoreAndForward_Heartbeat struct {
	state protoimpl.MessageState `protogen:"open.v1"`
	// Period in seconds that the heartbeat is sent out that will be sent to the client
	Period uint32 `protobuf:"varint,1,opt,name=period,proto3" json:"period,omitempty"`
	// If set, this is not the primary Store & Forward router on the mesh
	Secondary     uint32 `protobuf:"varint,2,opt,name=secondary,proto3" json:"secondary,omitempty"`
	unknownFields protoimpl.UnknownFields
	sizeCache     protoimpl.SizeCache
}

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

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

func (*StoreAndForward_Heartbeat) ProtoMessage() {}

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

func (x *StoreAndForward_Heartbeat) GetPeriod() uint32 {
	if x != nil {
		return x.Period
	}
	return 0
}

func (x *StoreAndForward_Heartbeat) GetSecondary() uint32 {
	if x != nil {
		return x.Secondary
	}
	return 0
}

var File_meshtastic_storeforward_proto protoreflect.FileDescriptor

const file_meshtastic_storeforward_proto_rawDesc = "" +
	"\n" +
	"\x1dmeshtastic/storeforward.proto\x12\n" +
	"meshtastic\"\xec\b\n" +
	"\x0fStoreAndForward\x12;\n" +
	"\x02rr\x18\x01 \x01(\x0e2+.meshtastic.StoreAndForward.RequestResponseR\x02rr\x12>\n" +
	"\x05stats\x18\x02 \x01(\v2&.meshtastic.StoreAndForward.StatisticsH\x00R\x05stats\x12?\n" +
	"\ahistory\x18\x03 \x01(\v2#.meshtastic.StoreAndForward.HistoryH\x00R\ahistory\x12E\n" +
	"\theartbeat\x18\x04 \x01(\v2%.meshtastic.StoreAndForward.HeartbeatH\x00R\theartbeat\x12\x14\n" +
	"\x04text\x18\x05 \x01(\fH\x00R\x04text\x1a\xbf\x02\n" +
	"\n" +
	"Statistics\x12%\n" +
	"\x0emessages_total\x18\x01 \x01(\rR\rmessagesTotal\x12%\n" +
	"\x0emessages_saved\x18\x02 \x01(\rR\rmessagesSaved\x12!\n" +
	"\fmessages_max\x18\x03 \x01(\rR\vmessagesMax\x12\x17\n" +
	"\aup_time\x18\x04 \x01(\rR\x06upTime\x12\x1a\n" +
	"\brequests\x18\x05 \x01(\rR\brequests\x12)\n" +
	"\x10requests_history\x18\x06 \x01(\rR\x0frequestsHistory\x12\x1c\n" +
	"\theartbeat\x18\a \x01(\bR\theartbeat\x12\x1d\n" +
	"\n" +
	"return_max\x18\b \x01(\rR\treturnMax\x12#\n" +
	"\rreturn_window\x18\t \x01(\rR\freturnWindow\x1ao\n" +
	"\aHistory\x12)\n" +
	"\x10history_messages\x18\x01 \x01(\rR\x0fhistoryMessages\x12\x16\n" +
	"\x06window\x18\x02 \x01(\rR\x06window\x12!\n" +
	"\flast_request\x18\x03 \x01(\rR\vlastRequest\x1aA\n" +
	"\tHeartbeat\x12\x16\n" +
	"\x06period\x18\x01 \x01(\rR\x06period\x12\x1c\n" +
	"\tsecondary\x18\x02 \x01(\rR\tsecondary\"\xbc\x02\n" +
	"\x0fRequestResponse\x12\t\n" +
	"\x05UNSET\x10\x00\x12\x10\n" +
	"\fROUTER_ERROR\x10\x01\x12\x14\n" +
	"\x10ROUTER_HEARTBEAT\x10\x02\x12\x0f\n" +
	"\vROUTER_PING\x10\x03\x12\x0f\n" +
	"\vROUTER_PONG\x10\x04\x12\x0f\n" +
	"\vROUTER_BUSY\x10\x05\x12\x12\n" +
	"\x0eROUTER_HISTORY\x10\x06\x12\x10\n" +
	"\fROUTER_STATS\x10\a\x12\x16\n" +
	"\x12ROUTER_TEXT_DIRECT\x10\b\x12\x19\n" +
	"\x15ROUTER_TEXT_BROADCAST\x10\t\x12\x10\n" +
	"\fCLIENT_ERROR\x10@\x12\x12\n" +
	"\x0eCLIENT_HISTORY\x10A\x12\x10\n" +
	"\fCLIENT_STATS\x10B\x12\x0f\n" +
	"\vCLIENT_PING\x10C\x12\x0f\n" +
	"\vCLIENT_PONG\x10D\x12\x10\n" +
	"\fCLIENT_ABORT\x10jB\t\n" +
	"\avariantBg\n" +
	"\x13com.geeksville.meshB\x15StoreAndForwardProtosZ\x1fmeshstream/generated/meshtastic\xaa\x02\x14Meshtastic.Protobufs\xba\x02\x00b\x06proto3"

var (
	file_meshtastic_storeforward_proto_rawDescOnce sync.Once
	file_meshtastic_storeforward_proto_rawDescData []byte
)

func file_meshtastic_storeforward_proto_rawDescGZIP() []byte {
	file_meshtastic_storeforward_proto_rawDescOnce.Do(func() {
		file_meshtastic_storeforward_proto_rawDescData = protoimpl.X.CompressGZIP(unsafe.Slice(unsafe.StringData(file_meshtastic_storeforward_proto_rawDesc), len(file_meshtastic_storeforward_proto_rawDesc)))
	})
	return file_meshtastic_storeforward_proto_rawDescData
}

var file_meshtastic_storeforward_proto_enumTypes = make([]protoimpl.EnumInfo, 1)
var file_meshtastic_storeforward_proto_msgTypes = make([]protoimpl.MessageInfo, 4)
var file_meshtastic_storeforward_proto_goTypes = []any{
	(StoreAndForward_RequestResponse)(0), // 0: meshtastic.StoreAndForward.RequestResponse
	(*StoreAndForward)(nil),              // 1: meshtastic.StoreAndForward
	(*StoreAndForward_Statistics)(nil),   // 2: meshtastic.StoreAndForward.Statistics
	(*StoreAndForward_History)(nil),      // 3: meshtastic.StoreAndForward.History
	(*StoreAndForward_Heartbeat)(nil),    // 4: meshtastic.StoreAndForward.Heartbeat
}
var file_meshtastic_storeforward_proto_depIdxs = []int32{
	0, // 0: meshtastic.StoreAndForward.rr:type_name -> meshtastic.StoreAndForward.RequestResponse
	2, // 1: meshtastic.StoreAndForward.stats:type_name -> meshtastic.StoreAndForward.Statistics
	3, // 2: meshtastic.StoreAndForward.history:type_name -> meshtastic.StoreAndForward.History
	4, // 3: meshtastic.StoreAndForward.heartbeat:type_name -> meshtastic.StoreAndForward.Heartbeat
	4, // [4:4] is the sub-list for method output_type
	4, // [4:4] is the sub-list for method input_type
	4, // [4:4] is the sub-list for extension type_name
	4, // [4:4] is the sub-list for extension extendee
	0, // [0:4] is the sub-list for field type_name
}

func init() { file_meshtastic_storeforward_proto_init() }
func file_meshtastic_storeforward_proto_init() {
	if File_meshtastic_storeforward_proto != nil {
		return
	}
	file_meshtastic_storeforward_proto_msgTypes[0].OneofWrappers = []any{
		(*StoreAndForward_Stats)(nil),
		(*StoreAndForward_History_)(nil),
		(*StoreAndForward_Heartbeat_)(nil),
		(*StoreAndForward_Text)(nil),
	}
	type x struct{}
	out := protoimpl.TypeBuilder{
		File: protoimpl.DescBuilder{
			GoPackagePath: reflect.TypeOf(x{}).PkgPath(),
			RawDescriptor: unsafe.Slice(unsafe.StringData(file_meshtastic_storeforward_proto_rawDesc), len(file_meshtastic_storeforward_proto_rawDesc)),
			NumEnums:      1,
			NumMessages:   4,
			NumExtensions: 0,
			NumServices:   0,
		},
		GoTypes:           file_meshtastic_storeforward_proto_goTypes,
		DependencyIndexes: file_meshtastic_storeforward_proto_depIdxs,
		EnumInfos:         file_meshtastic_storeforward_proto_enumTypes,
		MessageInfos:      file_meshtastic_storeforward_proto_msgTypes,
	}.Build()
	File_meshtastic_storeforward_proto = out.File
	file_meshtastic_storeforward_proto_goTypes = nil
	file_meshtastic_storeforward_proto_depIdxs = nil
}
