// Code generated by protoc-gen-go. DO NOT EDIT.
// source: ban_evasion_detection_settings/update.proto

package ban_evasion_detection_settings

import proto "github.com/golang/protobuf/proto"
import fmt "fmt"
import math "math"
import change "code.justin.tv/eventbus/schema/pkg/eventbus/change"
import _ "code.justin.tv/eventbus/schema/pkg/eventbus/owner"

// Reference imports to suppress errors if they are not otherwise used.
var _ = proto.Marshal
var _ = fmt.Errorf
var _ = math.Inf

// This is a compile-time assertion to ensure that this generated file
// is compatible with the proto package it is being compiled against.
// A compilation error at this line likely means your copy of the
// proto package needs to be updated.
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package

// LowTrustUserTreatmentType is comprised of all the possible types
// for a low trust user treatment.
type LowTrustUserTreatmentType int32

const (
	LowTrustUserTreatmentType_LOW_TRUST_USER_TREATMENT_TYPE_INVALID LowTrustUserTreatmentType = 0
	// The user's chat messages will be actively monitored
	LowTrustUserTreatmentType_LOW_TRUST_USER_TREATMENT_TYPE_ACTIVE_MONITORING LowTrustUserTreatmentType = 1
	// The user's chat messages will be withheld from chat.
	LowTrustUserTreatmentType_LOW_TRUST_USER_TREATMENT_TYPE_RESTRICTED LowTrustUserTreatmentType = 2
	// The user will not receive any treatment.
	LowTrustUserTreatmentType_LOW_TRUST_USER_TREATMENT_TYPE_NO_TREATMENT LowTrustUserTreatmentType = 3
)

var LowTrustUserTreatmentType_name = map[int32]string{
	0: "LOW_TRUST_USER_TREATMENT_TYPE_INVALID",
	1: "LOW_TRUST_USER_TREATMENT_TYPE_ACTIVE_MONITORING",
	2: "LOW_TRUST_USER_TREATMENT_TYPE_RESTRICTED",
	3: "LOW_TRUST_USER_TREATMENT_TYPE_NO_TREATMENT",
}
var LowTrustUserTreatmentType_value = map[string]int32{
	"LOW_TRUST_USER_TREATMENT_TYPE_INVALID":           0,
	"LOW_TRUST_USER_TREATMENT_TYPE_ACTIVE_MONITORING": 1,
	"LOW_TRUST_USER_TREATMENT_TYPE_RESTRICTED":        2,
	"LOW_TRUST_USER_TREATMENT_TYPE_NO_TREATMENT":      3,
}

func (x LowTrustUserTreatmentType) String() string {
	return proto.EnumName(LowTrustUserTreatmentType_name, int32(x))
}
func (LowTrustUserTreatmentType) EnumDescriptor() ([]byte, []int) {
	return fileDescriptor_update_52acfefef079a259, []int{0}
}

// BanEvasionDetectionSettingsUpdate is triggered when a moderator or channel owner changes the
// BanEvasionDetectionSettings for a channel.
// Currently all field values are returned with each event.
type BanEvasionDetectionSettingsUpdate struct {
	// The user of which the ban evasion settings are applied.
	BroadcasterUserId string `protobuf:"bytes,1,opt,name=broadcaster_user_id,json=broadcasterUserId,proto3" json:"broadcaster_user_id,omitempty"`
	// The user who updated the settings.
	RequesterUserId string `protobuf:"bytes,2,opt,name=requester_user_id,json=requesterUserId,proto3" json:"requester_user_id,omitempty"`
	// Denotes whether ban evasion detection is enabled on the channel.
	IsEnabled *change.BoolChange `protobuf:"bytes,3,opt,name=is_enabled,json=isEnabled,proto3" json:"is_enabled,omitempty"`
	// The treatment for users detected to likely be ban evaders.
	LikelyEvaderTreatment *LowTrustUserTreatmentChange `protobuf:"bytes,4,opt,name=likely_evader_treatment,json=likelyEvaderTreatment,proto3" json:"likely_evader_treatment,omitempty"`
	// The treatment for users detected to very likely be ban evaders.
	VeryLikelyEvaderTreatment *LowTrustUserTreatmentChange `protobuf:"bytes,5,opt,name=very_likely_evader_treatment,json=veryLikelyEvaderTreatment,proto3" json:"very_likely_evader_treatment,omitempty"`
	XXX_NoUnkeyedLiteral      struct{}                     `json:"-"`
	XXX_unrecognized          []byte                       `json:"-"`
	XXX_sizecache             int32                        `json:"-"`
}

func (m *BanEvasionDetectionSettingsUpdate) Reset()         { *m = BanEvasionDetectionSettingsUpdate{} }
func (m *BanEvasionDetectionSettingsUpdate) String() string { return proto.CompactTextString(m) }
func (*BanEvasionDetectionSettingsUpdate) ProtoMessage()    {}
func (*BanEvasionDetectionSettingsUpdate) Descriptor() ([]byte, []int) {
	return fileDescriptor_update_52acfefef079a259, []int{0}
}
func (m *BanEvasionDetectionSettingsUpdate) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_BanEvasionDetectionSettingsUpdate.Unmarshal(m, b)
}
func (m *BanEvasionDetectionSettingsUpdate) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_BanEvasionDetectionSettingsUpdate.Marshal(b, m, deterministic)
}
func (dst *BanEvasionDetectionSettingsUpdate) XXX_Merge(src proto.Message) {
	xxx_messageInfo_BanEvasionDetectionSettingsUpdate.Merge(dst, src)
}
func (m *BanEvasionDetectionSettingsUpdate) XXX_Size() int {
	return xxx_messageInfo_BanEvasionDetectionSettingsUpdate.Size(m)
}
func (m *BanEvasionDetectionSettingsUpdate) XXX_DiscardUnknown() {
	xxx_messageInfo_BanEvasionDetectionSettingsUpdate.DiscardUnknown(m)
}

var xxx_messageInfo_BanEvasionDetectionSettingsUpdate proto.InternalMessageInfo

func (m *BanEvasionDetectionSettingsUpdate) GetBroadcasterUserId() string {
	if m != nil {
		return m.BroadcasterUserId
	}
	return ""
}

func (m *BanEvasionDetectionSettingsUpdate) GetRequesterUserId() string {
	if m != nil {
		return m.RequesterUserId
	}
	return ""
}

func (m *BanEvasionDetectionSettingsUpdate) GetIsEnabled() *change.BoolChange {
	if m != nil {
		return m.IsEnabled
	}
	return nil
}

func (m *BanEvasionDetectionSettingsUpdate) GetLikelyEvaderTreatment() *LowTrustUserTreatmentChange {
	if m != nil {
		return m.LikelyEvaderTreatment
	}
	return nil
}

func (m *BanEvasionDetectionSettingsUpdate) GetVeryLikelyEvaderTreatment() *LowTrustUserTreatmentChange {
	if m != nil {
		return m.VeryLikelyEvaderTreatment
	}
	return nil
}

// LowTrustUserTreatmentChange represents a state change for a given
// low trust user treatment which follows the eventbus.change.proto scheme.
type LowTrustUserTreatmentChange struct {
	// Denotes whether the low trust user treatment was changed.
	Updated bool `protobuf:"varint,1,opt,name=updated,proto3" json:"updated,omitempty"`
	// Denotes the current value of the low trust user treatment.
	Value LowTrustUserTreatmentType `protobuf:"varint,2,opt,name=value,proto3,enum=ban_evasion_detection_settings.LowTrustUserTreatmentType" json:"value,omitempty"`
	// Denotes whether the previous low trust user treatment is included in the event.
	HasOldValue bool `protobuf:"varint,3,opt,name=has_old_value,json=hasOldValue,proto3" json:"has_old_value,omitempty"`
	// Denotes the previous low trust user treatment value.
	OldValue             LowTrustUserTreatmentType `protobuf:"varint,4,opt,name=old_value,json=oldValue,proto3,enum=ban_evasion_detection_settings.LowTrustUserTreatmentType" json:"old_value,omitempty"`
	XXX_NoUnkeyedLiteral struct{}                  `json:"-"`
	XXX_unrecognized     []byte                    `json:"-"`
	XXX_sizecache        int32                     `json:"-"`
}

func (m *LowTrustUserTreatmentChange) Reset()         { *m = LowTrustUserTreatmentChange{} }
func (m *LowTrustUserTreatmentChange) String() string { return proto.CompactTextString(m) }
func (*LowTrustUserTreatmentChange) ProtoMessage()    {}
func (*LowTrustUserTreatmentChange) Descriptor() ([]byte, []int) {
	return fileDescriptor_update_52acfefef079a259, []int{1}
}
func (m *LowTrustUserTreatmentChange) XXX_Unmarshal(b []byte) error {
	return xxx_messageInfo_LowTrustUserTreatmentChange.Unmarshal(m, b)
}
func (m *LowTrustUserTreatmentChange) XXX_Marshal(b []byte, deterministic bool) ([]byte, error) {
	return xxx_messageInfo_LowTrustUserTreatmentChange.Marshal(b, m, deterministic)
}
func (dst *LowTrustUserTreatmentChange) XXX_Merge(src proto.Message) {
	xxx_messageInfo_LowTrustUserTreatmentChange.Merge(dst, src)
}
func (m *LowTrustUserTreatmentChange) XXX_Size() int {
	return xxx_messageInfo_LowTrustUserTreatmentChange.Size(m)
}
func (m *LowTrustUserTreatmentChange) XXX_DiscardUnknown() {
	xxx_messageInfo_LowTrustUserTreatmentChange.DiscardUnknown(m)
}

var xxx_messageInfo_LowTrustUserTreatmentChange proto.InternalMessageInfo

func (m *LowTrustUserTreatmentChange) GetUpdated() bool {
	if m != nil {
		return m.Updated
	}
	return false
}

func (m *LowTrustUserTreatmentChange) GetValue() LowTrustUserTreatmentType {
	if m != nil {
		return m.Value
	}
	return LowTrustUserTreatmentType_LOW_TRUST_USER_TREATMENT_TYPE_INVALID
}

func (m *LowTrustUserTreatmentChange) GetHasOldValue() bool {
	if m != nil {
		return m.HasOldValue
	}
	return false
}

func (m *LowTrustUserTreatmentChange) GetOldValue() LowTrustUserTreatmentType {
	if m != nil {
		return m.OldValue
	}
	return LowTrustUserTreatmentType_LOW_TRUST_USER_TREATMENT_TYPE_INVALID
}

func init() {
	proto.RegisterType((*BanEvasionDetectionSettingsUpdate)(nil), "ban_evasion_detection_settings.BanEvasionDetectionSettingsUpdate")
	proto.RegisterType((*LowTrustUserTreatmentChange)(nil), "ban_evasion_detection_settings.LowTrustUserTreatmentChange")
	proto.RegisterEnum("ban_evasion_detection_settings.LowTrustUserTreatmentType", LowTrustUserTreatmentType_name, LowTrustUserTreatmentType_value)
}

func init() {
	proto.RegisterFile("ban_evasion_detection_settings/update.proto", fileDescriptor_update_52acfefef079a259)
}

var fileDescriptor_update_52acfefef079a259 = []byte{
	// 491 bytes of a gzipped FileDescriptorProto
	0x1f, 0x8b, 0x08, 0x00, 0x00, 0x00, 0x00, 0x00, 0x02, 0xff, 0xa4, 0x93, 0xdf, 0x6e, 0xd3, 0x30,
	0x14, 0xc6, 0x69, 0xbb, 0xc1, 0xea, 0x0a, 0xd6, 0x19, 0x26, 0xb2, 0x0d, 0xa1, 0x52, 0x09, 0xa9,
	0x14, 0x48, 0xa5, 0xed, 0x8a, 0x71, 0xd5, 0x3f, 0x16, 0x8a, 0xd4, 0x25, 0xc8, 0x75, 0x8b, 0xe0,
	0xc6, 0x72, 0x9a, 0xc3, 0x1a, 0x91, 0xc5, 0xc5, 0x76, 0x3a, 0x55, 0xe2, 0x92, 0xa7, 0xe0, 0x3d,
	0xb8, 0xe6, 0x39, 0x78, 0x1b, 0xd4, 0x24, 0xed, 0x40, 0x62, 0x41, 0x62, 0x77, 0xce, 0xf9, 0xbe,
	0xf3, 0xfb, 0x4e, 0xfc, 0x07, 0x3d, 0xf7, 0x45, 0xcc, 0x61, 0x21, 0x74, 0x28, 0x63, 0x1e, 0x80,
	0x81, 0xa9, 0x59, 0xad, 0x34, 0x18, 0x13, 0xc6, 0xe7, 0xba, 0x93, 0xcc, 0x03, 0x61, 0xc0, 0x9e,
	0x2b, 0x69, 0x24, 0x7e, 0x5c, 0x6c, 0x3e, 0xdc, 0x87, 0x05, 0xc4, 0xc6, 0x4f, 0x74, 0x67, 0x3a,
	0x13, 0xf1, 0x79, 0xde, 0x76, 0xf8, 0x60, 0x53, 0x96, 0x97, 0x31, 0xa8, 0xac, 0xda, 0xfc, 0x51,
	0x41, 0x4f, 0x7a, 0x22, 0x26, 0x19, 0x6e, 0xb0, 0xa6, 0x8d, 0x72, 0xd8, 0x38, 0x0d, 0xc6, 0x36,
	0xba, 0xef, 0x2b, 0x29, 0x82, 0xa9, 0xd0, 0x06, 0x14, 0x4f, 0x34, 0x28, 0x1e, 0x06, 0x56, 0xa9,
	0x51, 0x6a, 0x55, 0xe9, 0xde, 0x6f, 0xd2, 0x58, 0x83, 0x72, 0x02, 0xdc, 0x46, 0x7b, 0x0a, 0x3e,
	0x27, 0xf0, 0x87, 0xbb, 0x9c, 0xba, 0x77, 0x37, 0x42, 0xee, 0x3d, 0x45, 0x28, 0xd4, 0x1c, 0x62,
	0xe1, 0x47, 0x10, 0x58, 0x95, 0x46, 0xa9, 0x55, 0x3b, 0x3e, 0xb2, 0xd7, 0xc3, 0xda, 0xf9, 0x3f,
	0xf4, 0xa4, 0x8c, 0xfa, 0xe9, 0x92, 0x56, 0x43, 0x4d, 0x32, 0x37, 0xd6, 0xe8, 0x61, 0x14, 0x7e,
	0x82, 0x68, 0xb9, 0xda, 0x8f, 0x00, 0x14, 0x37, 0x0a, 0x84, 0xb9, 0x80, 0xd8, 0x58, 0x5b, 0x29,
	0xe8, 0xb5, 0x5d, 0xbc, 0x59, 0xf6, 0x50, 0x5e, 0x32, 0x95, 0x68, 0xb3, 0x1a, 0x86, 0xad, 0x9b,
	0xf3, 0xa0, 0xfd, 0x8c, 0x4d, 0x52, 0xf4, 0x46, 0xc4, 0x5f, 0xd0, 0xa3, 0x05, 0xa8, 0x25, 0xbf,
	0x2e, 0x79, 0xfb, 0xe6, 0xc9, 0x07, 0xab, 0x80, 0xe1, 0xdf, 0xd2, 0x4f, 0x77, 0xbf, 0x7d, 0xb7,
	0x6a, 0x06, 0xc4, 0xc5, 0x4b, 0x2d, 0x3e, 0x82, 0x59, 0x36, 0xbf, 0x96, 0xd1, 0x51, 0x01, 0x0b,
	0x5b, 0xe8, 0x4e, 0x76, 0x7d, 0xb2, 0xf3, 0xda, 0xa1, 0xeb, 0x4f, 0xec, 0xa1, 0xed, 0x85, 0x88,
	0x12, 0x48, 0x4f, 0xe6, 0xde, 0xf1, 0xab, 0xff, 0x9a, 0x98, 0x2d, 0xe7, 0x40, 0x33, 0x0e, 0x6e,
	0xa2, 0xbb, 0x33, 0xa1, 0xb9, 0x8c, 0x02, 0x9e, 0x81, 0x2b, 0x69, 0x60, 0x6d, 0x26, 0xb4, 0x17,
	0x05, 0x93, 0xd4, 0x33, 0x41, 0xd5, 0x2b, 0x7d, 0xeb, 0xa6, 0xc1, 0x3b, 0x32, 0xe7, 0xb6, 0x7f,
	0x96, 0xd0, 0xc1, 0xb5, 0x3e, 0xfc, 0x0c, 0x3d, 0x1d, 0x7a, 0xef, 0x38, 0xa3, 0xe3, 0x11, 0xe3,
	0xe3, 0x11, 0xa1, 0x9c, 0x51, 0xd2, 0x65, 0x67, 0xc4, 0x65, 0x9c, 0xbd, 0x7f, 0x4b, 0xb8, 0xe3,
	0x4e, 0xba, 0x43, 0x67, 0x50, 0xbf, 0x85, 0x4f, 0x50, 0xa7, 0xd8, 0xda, 0xed, 0x33, 0x67, 0x42,
	0xf8, 0x99, 0xe7, 0x3a, 0xcc, 0xa3, 0x8e, 0xfb, 0xa6, 0x5e, 0xc2, 0x2f, 0x50, 0xab, 0xb8, 0x89,
	0x92, 0x11, 0xa3, 0x4e, 0x9f, 0x91, 0x41, 0xbd, 0x8c, 0x6d, 0xd4, 0x2e, 0x76, 0xbb, 0xde, 0x55,
	0xa5, 0x5e, 0xe9, 0x35, 0x3e, 0xfc, 0xe3, 0xcd, 0xfb, 0xb7, 0xd3, 0xd7, 0x7c, 0xf2, 0x2b, 0x00,
	0x00, 0xff, 0xff, 0x8a, 0xf0, 0x67, 0x41, 0x49, 0x04, 0x00, 0x00,
}
