import { IRestEntity } from '@jacquesparis/objects-model';
import { AuthorizationContext, AuthorizationDecision } from '@loopback/authorization';
import { ObjectNodeService } from '../object-node/object-node.service';
import { CurrentContext } from './../application.service';
import { ObjectTypeService } from './../object-type.service';
import { AccessRightsAbstractService } from './access-rights-abstract.service';
import { AccessRightsInterface, AccessRightsService } from './access-rights.service';
export declare class AccessRightsTreeService extends AccessRightsAbstractService implements AccessRightsInterface {
    protected accessRightsService: AccessRightsService;
    protected objectNodeService: ObjectNodeService;
    protected objectTypeService: ObjectTypeService;
    constructor(accessRightsService: AccessRightsService, objectNodeService: ObjectNodeService, objectTypeService: ObjectTypeService);
    protected authorizeRead(ctx: CurrentContext, context: AuthorizationContext): Promise<AuthorizationDecision>;
    protected authorizeCreate(ctx: CurrentContext, context: AuthorizationContext): Promise<AuthorizationDecision>;
    protected authorizeUpdate(ctx: CurrentContext, context: AuthorizationContext): Promise<AuthorizationDecision>;
    protected authorizeDelete(ctx: CurrentContext, context: AuthorizationContext): Promise<AuthorizationDecision>;
    cleanReturnedEntity(entity: IRestEntity, ctx: CurrentContext): Promise<void>;
}
