// Copyright Contributors to the Open Cluster Management project
// Code generated by informer-gen. DO NOT EDIT.

package v1beta1

import (
	internalinterfaces "open-cluster-management.io/api/client/addon/informers/externalversions/internalinterfaces"
)

// Interface provides access to all the informers in this group version.
type Interface interface {
	// AddOnDeploymentConfigs returns a AddOnDeploymentConfigInformer.
	AddOnDeploymentConfigs() AddOnDeploymentConfigInformer
	// ClusterManagementAddOns returns a ClusterManagementAddOnInformer.
	ClusterManagementAddOns() ClusterManagementAddOnInformer
	// ManagedClusterAddOns returns a ManagedClusterAddOnInformer.
	ManagedClusterAddOns() ManagedClusterAddOnInformer
}

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}
}

// AddOnDeploymentConfigs returns a AddOnDeploymentConfigInformer.
func (v *version) AddOnDeploymentConfigs() AddOnDeploymentConfigInformer {
	return &addOnDeploymentConfigInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

// ClusterManagementAddOns returns a ClusterManagementAddOnInformer.
func (v *version) ClusterManagementAddOns() ClusterManagementAddOnInformer {
	return &clusterManagementAddOnInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// ManagedClusterAddOns returns a ManagedClusterAddOnInformer.
func (v *version) ManagedClusterAddOns() ManagedClusterAddOnInformer {
	return &managedClusterAddOnInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}
