import { CreateSecurityRuleDto } from '../dtos/create-security-rule.dto';
import { UpdateSecurityRuleDto } from '../dtos/update-security-rule.dto';
import { CommonEntity } from '../entities/common.entity';
import { SecurityRule } from '../entities/security-rule.entity';
import { SolidRegistry } from '../helpers/solid-registry';
import { ActiveUserData } from '../interfaces/active-user-data.interface';
import { CrudHelperService } from '../services/crud-helper.service';
import { DataSource, SelectQueryBuilder } from 'typeorm';
import { SolidBaseRepository } from './solid-base.repository';
export declare class SecurityRuleRepository extends SolidBaseRepository<SecurityRule> {
    readonly dataSource: DataSource;
    readonly solidRegistry: SolidRegistry;
    readonly crudHelperService: CrudHelperService;
    constructor(dataSource: DataSource, solidRegistry: SolidRegistry, crudHelperService: CrudHelperService);
    applySecurityRules<T extends CommonEntity>(qb: SelectQueryBuilder<T>, modelSingularName: string, activeUser: ActiveUserData, securityRuleAlias?: string): Promise<SelectQueryBuilder<T>>;
    private resolveSecurityRuleConfig;
    toDto(securityRule: SecurityRule): Promise<UpdateSecurityRuleDto>;
    upsertWithDto(createDto: CreateSecurityRuleDto): Promise<SecurityRule>;
}
//# sourceMappingURL=security-rule.repository.d.ts.map