import { IJsonSchema } from '@jacquesparis/objects-model';
import { Getter } from '@loopback/core';
import { DataObject, Entity, FilterExcludingWhere, Options } from '@loopback/repository';
import { DbDataSource } from '../../datasources/db.datasource';
import { ContentExtension, ContentExtensionRelations, ContentExtensionRepository, ContentExtensionService, ContentExtensionWithRelations } from '../../integration/content-extension.definition';
import { ObjectNodeRepository } from '../../repositories/object-node.repository';
import { ContentEntityService } from '../../services/content-entity/content-entity.service';
import { ApplicationService } from './../../services/application.service';
export declare class EncryptedObject extends Entity {
    value: any;
}
export declare class ContentEncryptedObject extends ContentExtension<EncryptedObject> {
}
export declare type ContentEncryptedObjectRelations = ContentExtensionRelations;
export declare type ContentEncryptedObjectWithRelations = ContentExtensionWithRelations<EncryptedObject>;
export declare class ContentEncryptedObjectRepository extends ContentExtensionRepository<EncryptedObject, typeof ContentEncryptedObject.prototype.id> {
    protected objectNodeRepositoryGetter: Getter<ObjectNodeRepository>;
    private appCtx;
    private simpleCrypto;
    constructor(dataSource: DbDataSource, objectNodeRepositoryGetter: Getter<ObjectNodeRepository>, appCtx: ApplicationService);
    create(entity: DataObject<ContentExtension<EncryptedObject>>, options?: Options): Promise<ContentExtension<EncryptedObject>>;
    private encrypt;
    private decrypt;
    updateById(id: string | undefined, data: DataObject<ContentExtension<EncryptedObject>>, options?: Options): Promise<void>;
    findById(id: string | undefined, filter?: FilterExcludingWhere<ContentExtension<EncryptedObject>>, options?: Options): Promise<ContentExtension<EncryptedObject> & ContentEncryptedObjectRelations>;
}
export declare class ContentEncryptedObjectService extends ContentExtensionService<EncryptedObject, typeof ContentEncryptedObject.prototype.id> {
    protected contentEntityService: ContentEntityService;
    protected contentExtensionRepository: ContentEncryptedObjectRepository;
    constructor(contentEntityService: ContentEntityService, contentExtensionRepository: ContentEncryptedObjectRepository);
    getContentDefinition(): Promise<IJsonSchema>;
}
