// Code generated by "stringer -type=ConfigState"; DO NOT EDIT.

package alerts

import "strconv"

func _() {
	// An "invalid array index" compiler error signifies that the constant values have changed.
	// Re-run the stringer command to generate them again.
	var x [1]struct{}
	_ = x[ACTIVE-0]
	_ = x[DELETED-1]
	_ = x[EOL-2]
}

const _ConfigState_name = "ACTIVEDELETEDEOL"

var _ConfigState_index = [...]uint8{0, 6, 13, 16}

func (i ConfigState) String() string {
	if i < 0 || i >= ConfigState(len(_ConfigState_index)-1) {
		return "ConfigState(" + strconv.FormatInt(int64(i), 10) + ")"
	}
	return _ConfigState_name[_ConfigState_index[i]:_ConfigState_index[i+1]]
}
