import { IRestEntity } from '@jacquesparis/objects-model';
import { AuthorizationContext, AuthorizationDecision } from '@loopback/authorization';
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 AccessRightsTypeService extends AccessRightsAbstractService implements AccessRightsInterface {
    protected accessRightsService: AccessRightsService;
    protected objectTypeService: ObjectTypeService;
    constructor(accessRightsService: AccessRightsService, objectTypeService: ObjectTypeService);
    cleanReturnedEntity(entity: IRestEntity, ctx: CurrentContext): Promise<void>;
    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>;
}
