import { StoredDocument } from './base/StoredDocument.mjs'; /** * * * The RoleDto class represents a role in the system, which can have permissions and can be * inheritable up to a certain level by users in child Groups.$ * down the group hierarchy this role can be inherited by users in child groups. A value of 0 means * it cannot be inherited, while a value of -1 means it can be inherited indefinitely. */ export declare class Role implements StoredDocument { /** * * The unique identifier of the role. It is automatically set to : */ id: string; /** * * The revision identifier of the role, used for optimistic locking. */ rev: string | undefined; /** * * The timestamp of when the role was deleted, if applicable. */ deletionDate: number | undefined; /** * * The name of the role. It can only contain uppercase letters, numbers, and underscores for a max * length of 40 characters. */ name: string | undefined; /** * * A short description for the role. It cannot exceed 300 characters. */ description: string | undefined; /** * * * Represents the levels in the descendant groups hierarchy where this role can be used. Eg: * - null: all the users in the descendants of the group can use this role. * - 0: only the users in the group can use this role. * - 1: only the users in the group and in its children groups can use this role. */ inheritableUpTo: number | undefined; /** * * A set of permissions associated with this role, defining what actions users with this role can * perform. */ permissions: Array; constructor(partial: Partial); toJSON(): object; static fromJSON(json: any, ignoreUnknownKeys?: boolean, path?: Array): Role; }