// Code generated by msgraph.go/gen DO NOT EDIT.

package msgraph

// Filter undocumented
type Filter struct {
	// Object is the base model of Filter
	Object
	// Groups undocumented
	Groups []FilterGroup `json:"groups,omitempty"`
	// InputFilterGroups undocumented
	InputFilterGroups []FilterGroup `json:"inputFilterGroups,omitempty"`
	// CategoryFilterGroups undocumented
	CategoryFilterGroups []FilterGroup `json:"categoryFilterGroups,omitempty"`
}

// FilterClause undocumented
type FilterClause struct {
	// Object is the base model of FilterClause
	Object
	// OperatorName undocumented
	OperatorName *string `json:"operatorName,omitempty"`
	// SourceOperandName undocumented
	SourceOperandName *string `json:"sourceOperandName,omitempty"`
	// TargetOperand undocumented
	TargetOperand *FilterOperand `json:"targetOperand,omitempty"`
}

// FilterGroup undocumented
type FilterGroup struct {
	// Object is the base model of FilterGroup
	Object
	// Clauses undocumented
	Clauses []FilterClause `json:"clauses,omitempty"`
	// Name undocumented
	Name *string `json:"name,omitempty"`
}

// FilterOperand undocumented
type FilterOperand struct {
	// Object is the base model of FilterOperand
	Object
	// Values undocumented
	Values []string `json:"values,omitempty"`
}

// FilterOperatorSchema undocumented
type FilterOperatorSchema struct {
	// Entity is the base model of FilterOperatorSchema
	Entity
	// Arity undocumented
	Arity *ScopeOperatorType `json:"arity,omitempty"`
	// MultivaluedComparisonType undocumented
	MultivaluedComparisonType *ScopeOperatorMultiValuedComparisonType `json:"multivaluedComparisonType,omitempty"`
	// SupportedAttributeTypes undocumented
	SupportedAttributeTypes []AttributeType `json:"supportedAttributeTypes,omitempty"`
}
