import { NextFunction, Request, Response } from "express"; import { AbstractPermissionHandler } from "./AbstractPermissionHandler"; import { IAuthUtilsOptions } from "../interfaces/IAuthUtilsOptions"; export interface ZitadelUserRequest extends Request { user: { [key: string]: unknown; }; } export declare class ZitadelSessionPermissionsHandler extends AbstractPermissionHandler { private readonly roleMappingConfig; private readonly roleMapping; static createPermissionsHandler(roleMapping: IAuthUtilsOptions["zitadelRoleMapping"]): AbstractPermissionHandler; static getPermissionsHandler(): ZitadelSessionPermissionsHandler; private constructor(); parseEnvConfig(): Record; getUserRoles(req: ZitadelUserRequest): string[]; checkPerm(permissionString: string, action?: "redirect" | "throwError"): (orgReq: Request, res: Response, next: NextFunction) => Promise; getPermissions(orgReq: Request): string[]; hasPermissions(orgReq: Request, permissionString: string): boolean; }