import { IJsonSchema } from '@jacquesparis/objects-model';
import { Getter } from '@loopback/core';
import { Entity } from '@loopback/repository';
import { ContentExtension, ContentExtensionRelations, ContentExtensionRepository, ContentExtensionService, ContentExtensionWithRelations } from '../../integration/content-extension.definition';
import { ContentEntityService } from '../../services/content-entity/content-entity.service';
import { DbDataSource } from './../../datasources/db.datasource';
import { ObjectNodeRepository } from './../../repositories/object-node.repository';
export declare class GenericTemplate extends Entity {
    templateMustache: string;
    headerScript: string;
    footerScript: string;
    templatesMustache: string[];
    templateAngular: string;
    scss: string;
    css: string;
    controller: string;
    refererConfig: IJsonSchema;
}
export declare class ContentGenericTemplate extends ContentExtension<GenericTemplate> {
}
export declare type ContentGenericTemplateRelations = ContentExtensionRelations;
export declare type ContentGenericTemplateWithRelations = ContentExtensionWithRelations<GenericTemplate>;
export declare class ContentGenericTemplateRepository extends ContentExtensionRepository<GenericTemplate, typeof ContentGenericTemplate.prototype.id> {
    protected objectNodeRepositoryGetter: Getter<ObjectNodeRepository>;
    constructor(dataSource: DbDataSource, objectNodeRepositoryGetter: Getter<ObjectNodeRepository>);
}
export declare class ContentGenericTemplateService extends ContentExtensionService<GenericTemplate, typeof ContentGenericTemplate.prototype.id> {
    protected contentEntityService: ContentEntityService;
    protected contentExtensionRepository: ContentGenericTemplateRepository;
    constructor(contentEntityService: ContentEntityService, contentExtensionRepository: ContentGenericTemplateRepository);
    getContentDefinition(): Promise<IJsonSchema>;
}
