// Code generated by informer-gen. DO NOT EDIT.

package v1alpha1

import (
	internalinterfaces "github.com/open-cluster-management/api/client/cluster/informers/externalversions/internalinterfaces"
)

// Interface provides access to all the informers in this group version.
type Interface interface {
	// ClusterClaims returns a ClusterClaimInformer.
	ClusterClaims() ClusterClaimInformer
	// ManagedClusterSets returns a ManagedClusterSetInformer.
	ManagedClusterSets() ManagedClusterSetInformer
	// ManagedClusterSetBindings returns a ManagedClusterSetBindingInformer.
	ManagedClusterSetBindings() ManagedClusterSetBindingInformer
	// Placements returns a PlacementInformer.
	Placements() PlacementInformer
	// PlacementDecisions returns a PlacementDecisionInformer.
	PlacementDecisions() PlacementDecisionInformer
}

type version struct {
	factory          internalinterfaces.SharedInformerFactory
	namespace        string
	tweakListOptions internalinterfaces.TweakListOptionsFunc
}

// New returns a new Interface.
func New(f internalinterfaces.SharedInformerFactory, namespace string, tweakListOptions internalinterfaces.TweakListOptionsFunc) Interface {
	return &version{factory: f, namespace: namespace, tweakListOptions: tweakListOptions}
}

// ClusterClaims returns a ClusterClaimInformer.
func (v *version) ClusterClaims() ClusterClaimInformer {
	return &clusterClaimInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// ManagedClusterSets returns a ManagedClusterSetInformer.
func (v *version) ManagedClusterSets() ManagedClusterSetInformer {
	return &managedClusterSetInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// ManagedClusterSetBindings returns a ManagedClusterSetBindingInformer.
func (v *version) ManagedClusterSetBindings() ManagedClusterSetBindingInformer {
	return &managedClusterSetBindingInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

// Placements returns a PlacementInformer.
func (v *version) Placements() PlacementInformer {
	return &placementInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

// PlacementDecisions returns a PlacementDecisionInformer.
func (v *version) PlacementDecisions() PlacementDecisionInformer {
	return &placementDecisionInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}
