import { ApiService } from '../communication-manager/http'; import { GetProjectPermissionResponseDto } from '../models/dto'; import { RedisImplService } from '../../../database/redis/services'; import { UserPermission } from '../interfaces'; import { DecodedAccessToken } from '../../interfaces'; import { AuthorizationGuardModuleConfig } from '../authorization.guard.module'; export declare class PermissionGuardService { private readonly config; private readonly apiService; private readonly redisService; protected TAG: string; static SYSTEM_KEY: string; static ACL_KEY: string; static REDIS_KEY_TTL: number; constructor(config: AuthorizationGuardModuleConfig, apiService: ApiService, redisService: RedisImplService); getAccountProjectPermission(accessToken: string, accountId: string, projectShortId: string): Promise; getUserProjectPermissionName(userPermissions: GetProjectPermissionResponseDto[], projectShortId: string, accountId: string): Promise; getUserSystemPermission(accessToken: string, decodedAccessToken: DecodedAccessToken): Promise; private getUserSystemPermissions; private getAccountProjectRoles; private getAccountRoles; private getAccountProjectRole; private getProjectPermissionsByRoles; private getSystemPermissionsByRoles; private getAccountProjectPermissionFromRedis; private setAccountProjectPermissionFromRedis; private getUserSystemPermissionFromRedis; private setUserSystemPermissionFromRedis; } //# sourceMappingURL=permission.guard.service.d.ts.map