import { Permission, PermissionsList } from "../permission"; import { PermissibleEntity } from "./entity"; /** * Collective * * A group of entities under the same name, and share resources. */ export declare class Collective extends PermissibleEntity { private readonly whitelist; private readonly blacklist; constructor(name: string, permissions: Permission[], scope?: string); /** * InheritFrom() * * extends an existing collective. * @param collective the collective to inherit from * @param name the name of the derived collective. * @param permissions permissions overrides. * @param scope the new scope. If omitted, the collective's scope is inherited. * @returns the derived collective. */ static InheritFrom(collective: Collective, name: string, permissions?: Permission[], scope?: string | null): Collective; get can(): PermissionsList; get cannot(): PermissionsList; equals(suspect: any): boolean; }