//go:build go1.18
// +build go1.18

// Copyright (c) Microsoft Corporation. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.
// Code generated by Microsoft (R) AutoRest Code Generator. DO NOT EDIT.
// Changes may cause incorrect behavior and will be lost if the code is regenerated.

package armchaos

// ExperimentActionClassification provides polymorphic access to related types.
// Call the interface's GetExperimentAction() method to access the common type.
// Use a type switch to determine the concrete type.  The possible types are:
// - *ContinuousAction, *DelayAction, *DiscreteAction, *ExperimentAction
type ExperimentActionClassification interface {
	// GetExperimentAction returns the ExperimentAction content of the underlying type.
	GetExperimentAction() *ExperimentAction
}

// TargetFilterClassification provides polymorphic access to related types.
// Call the interface's GetTargetFilter() method to access the common type.
// Use a type switch to determine the concrete type.  The possible types are:
// - *TargetFilter, *TargetSimpleFilter
type TargetFilterClassification interface {
	// GetTargetFilter returns the TargetFilter content of the underlying type.
	GetTargetFilter() *TargetFilter
}

// TargetSelectorClassification provides polymorphic access to related types.
// Call the interface's GetTargetSelector() method to access the common type.
// Use a type switch to determine the concrete type.  The possible types are:
// - *TargetListSelector, *TargetQuerySelector, *TargetSelector
type TargetSelectorClassification interface {
	// GetTargetSelector returns the TargetSelector content of the underlying type.
	GetTargetSelector() *TargetSelector
}
