import type { Gvk, Resource_Props_Top } from "@k8ts/instruments" import type { K8S } from "@k8ts/sample-interfaces" import type { Verbs } from "./cluster-role" export interface ClusterRole_Rule { resources: Resources verbs: Verbs[] } export type ClusterRole_RuleProducer = ( Role: ClusterRole_Scope ) => Iterable export class ClusterRole_Scope { Rule(...resources: R) { return { verbs(...verbs: Verbs[]) { return { resources: resources, verbs: verbs } } } } } export interface ClusterRole_Props extends Resource_Props_Top { rules$: ClusterRole_RuleProducer }