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

package v1alpha1

import (
	internalinterfaces "istio.io/client-go/pkg/informers/externalversions/internalinterfaces"
)

// Interface provides access to all the informers in this group version.
type Interface interface {
	// ClusterRbacConfigs returns a ClusterRbacConfigInformer.
	ClusterRbacConfigs() ClusterRbacConfigInformer
	// RbacConfigs returns a RbacConfigInformer.
	RbacConfigs() RbacConfigInformer
	// ServiceRoles returns a ServiceRoleInformer.
	ServiceRoles() ServiceRoleInformer
	// ServiceRoleBindings returns a ServiceRoleBindingInformer.
	ServiceRoleBindings() ServiceRoleBindingInformer
}

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

// ClusterRbacConfigs returns a ClusterRbacConfigInformer.
func (v *version) ClusterRbacConfigs() ClusterRbacConfigInformer {
	return &clusterRbacConfigInformer{factory: v.factory, tweakListOptions: v.tweakListOptions}
}

// RbacConfigs returns a RbacConfigInformer.
func (v *version) RbacConfigs() RbacConfigInformer {
	return &rbacConfigInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

// ServiceRoles returns a ServiceRoleInformer.
func (v *version) ServiceRoles() ServiceRoleInformer {
	return &serviceRoleInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}

// ServiceRoleBindings returns a ServiceRoleBindingInformer.
func (v *version) ServiceRoleBindings() ServiceRoleBindingInformer {
	return &serviceRoleBindingInformer{factory: v.factory, namespace: v.namespace, tweakListOptions: v.tweakListOptions}
}
