import { kind } from "kubernetes-fluent-client"; import { V1PolicyRule as PolicyRule } from "@kubernetes/client-node"; import { CapabilityExport } from "../types"; /** * Creates a Kubernetes ClusterRole based on capabilities and optional custom RBAC rules. * * @param {string} name - The name of the ClusterRole. * @param {CapabilityExport[]} capabilities - Array of capabilities defining RBAC rules. * @param {string} [rbacMode=""] - The RBAC mode; if "scoped", generates scoped rules, otherwise uses wildcard rules. * @returns {kind.ClusterRole} - A Kubernetes ClusterRole object. */ export declare function clusterRole(name: string, capabilities: CapabilityExport[], rbacMode: string | undefined, customRbac: PolicyRule[] | undefined): kind.ClusterRole; /** * Creates a Kubernetes ClusterRoleBinding for a specified ClusterRole. * * @param {string} name - The name of the ClusterRole to bind. * @returns {kind.ClusterRoleBinding} - A Kubernetes ClusterRoleBinding object. */ export declare function clusterRoleBinding(name: string): kind.ClusterRoleBinding; /** * Creates a Kubernetes ServiceAccount with the specified name. * * @param {string} name - The name of the ServiceAccount. * @returns {kind.ServiceAccount} - A Kubernetes ServiceAccount object. */ export declare function serviceAccount(name: string): kind.ServiceAccount; /** * Creates a Kubernetes Role for managing peprstores in a specified namespace. * * @param {string} name - The base name of the Role. * @returns {kind.Role} - A Kubernetes Role object for peprstores. */ export declare function storeRole(name: string): kind.Role; /** * Creates a Kubernetes RoleBinding for a specified Role in the pepr-system namespace. * * @param {string} name - The base name of the Role to bind. * @returns {kind.RoleBinding} - A Kubernetes RoleBinding object. */ export declare function storeRoleBinding(name: string): kind.RoleBinding; //# sourceMappingURL=rbac.d.ts.map