import { Repository } from 'typeorm';
import { UserPermissionCondition } from './entities/user-permission-condition.entity';
import { UserPermission } from '../user-permissions/entities/user-permission.entity';
import { CreateUserPermissionConditionDto } from './dto/create-user-permission-condition.dto';
import { UpdateUserPermissionConditionDto } from './dto/update-user-permission-condition.dto';
import { ModuleEntity } from "../modules/entities/module.entity";
export declare class UserPermissionConditionsService {
    private readonly conditionRepo;
    private readonly permissionRepo;
    private readonly moduleRepo;
    constructor(conditionRepo: Repository<UserPermissionCondition>, permissionRepo: Repository<UserPermission>, moduleRepo: Repository<ModuleEntity>);
    create(dto: CreateUserPermissionConditionDto): Promise<UserPermissionCondition>;
    findAll(): Promise<{
        id: number;
        module: {
            id: number;
            name: string;
            slug: string;
        } | null;
        userPermission: {
            id: number;
            permission: import("../permission/entities/permission.entity").Permission;
            user: {
                id: number;
                name: string;
                email: string;
            } | null;
        } | null;
        condition_field: string;
        condition_value: string;
        logic: string;
    }[]>;
    findOne(id: number): Promise<{
        id: number;
        module: {
            id: number;
            name: string;
            slug: string;
        } | null;
        userPermission: {
            id: number;
            permission: import("../permission/entities/permission.entity").Permission;
            user: {
                id: number;
                name: string;
                email: string;
            } | null;
        } | null;
        condition_field: string;
        condition_value: string;
        logic: string;
    }>;
    update(id: number, dto: UpdateUserPermissionConditionDto): Promise<UserPermissionCondition>;
    remove(id: number): Promise<UserPermissionCondition>;
    getUserPermissionsByUser(userId: number): Promise<any[]>;
}
