import { Repository } from 'typeorm';
import { Permission } from './entities/permission.entity';
import { CreatePermissionDto } from './dto/create-permission.dto';
import { UpdatePermissionDto } from './dto/update-permission.dto';
import { ModuleEntity } from '../modules/entities/module.entity';
export declare class PermissionService {
    private readonly permissionRepo;
    private readonly moduleRepo;
    constructor(permissionRepo: Repository<Permission>, moduleRepo: Repository<ModuleEntity>);
    create(dto: CreatePermissionDto, unique?: boolean): Promise<Permission>;
    findAll(): Promise<Permission[]>;
    findOne(id: number): Promise<Permission>;
    update(id: number, dto: UpdatePermissionDto): Promise<Permission>;
    remove(id: number): Promise<void>;
    findByIds(ids: number[]): Promise<Permission[]>;
    checkUserPermission(userId: number, moduleSlug: string, action: string, recordData?: any): Promise<boolean>;
    private evaluateConditions;
    getUserPermissions(userId: number): Promise<any[]>;
    findModuleByUrlSegment(urlSegment: string): Promise<ModuleEntity | null>;
    hasAnyPermissionOnModule(userId: number, moduleSlug: string): Promise<boolean>;
    getUserPermissionsForModule(userId: number, moduleSlug: string): Promise<string[]>;
}
