import { Keycloak, Token } from 'keycloak-connect'; import { GrantedRequest } from './KeycloakContext'; /** * Provides hasPermission function to check if user has requested permissions. * * Requests uma-ticket, retrieves user's permissions and checks if user has all requested permissions. */ export interface AuthorizationConfiguration { /** * Resource server, if not defined 'resource' from Keycloak configuration is taken */ resource_server_id: string | undefined; /** * Additional claims for policy evaluation */ claims: ((request: GrantedRequest) => any) | undefined; } export declare class KeycloakPermissionsHandler { private keycloak; private config; private permissionsToken; private req; constructor(keycloak: Keycloak, token: Token | undefined, config: AuthorizationConfiguration | undefined); private handlePermissions; hasPermission(resources: string | string[]): Promise; }