import { ControllerRight, ControllerRights } from "../../types/controllers/ControllerRights"; import { KuzzleRequest } from "../../../index"; import { OptimizedPolicyRestrictions } from "../../types/PolicyRestrictions"; /** * @class Role */ export declare class Role { controllers: ControllerRights; _id: string; constructor(); /** * @param {Request} request * @returns {boolean} */ isActionAllowed(request: KuzzleRequest): boolean; /** * @returns {Promise} */ validateDefinition(): Promise; /** * @param {String} index * @param {String} collection * @param {Map} restrictedTo Restricted indexes * @returns {Boolean} resolves to a Boolean value */ checkRestrictions(index: string, collection: string, restrictedTo: OptimizedPolicyRestrictions): boolean; /** * Verifies that a controller rights definition is correct * * @param {Array.} * @throws If the controller definition is invalid */ validateControllerRights(name: string, controller: ControllerRight): void; /** * Checks if current role allows to log in * * @returns {boolean} */ canLogIn(): boolean; }