import { Repository } from 'typeorm';
import { ClsService } from 'nestjs-cls';
import { UserEntity } from '../../entities/user.entity';
import { RolePermissionEntity, ModuleName, AccessLevel } from '../../entities/role-permission.entity';
import { RedisService } from '../../redis/redis.service';
export declare class PermissionCheckService {
    private readonly userRepo;
    private readonly rolePermRepo;
    private readonly cls;
    private readonly redis;
    private static readonly CACHE_TTL;
    private static readonly CACHE_PREFIX;
    constructor(userRepo: Repository<UserEntity>, rolePermRepo: Repository<RolePermissionEntity>, cls: ClsService, redis: RedisService);
    private getCurrentRoleId;
    getAccessLevel(module: ModuleName): Promise<AccessLevel>;
    hasAtLeast(module: ModuleName, minLevel: AccessLevel): Promise<boolean>;
}
