import { Metadata, ProjectMetadata } from './resource'; import { Kind } from './kind'; export type Action = 'create' | 'read' | 'update' | 'delete' | '*'; export declare const ACTIONS: string[]; export type Scope = Kind | '*'; export declare const PROJECT_SCOPES: string[]; export declare const GLOBAL_SCOPES: string[]; export interface Permission { actions: Action[]; scopes: Scope[]; } export interface RoleSpec { permissions: Permission[]; } /** * A role that belongs to a project. */ export interface RoleResource { kind: 'Role'; metadata: ProjectMetadata; spec: RoleSpec; } /** * A global role that doesn´t belong to a project. */ export interface GlobalRoleResource { kind: 'GlobalRole'; metadata: Metadata; spec: RoleSpec; } export type Role = RoleResource | GlobalRoleResource; //# sourceMappingURL=roles.d.ts.map