import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';
import { DataDomainH, DataElementH, Entity, EntityMeta, EntityType, QueryObject, Relation, RelationMeta, RelationshipH, RoleH } from './entity';
import { MessageService } from 'ui-message-angular';
export declare class EntityService {
    private http;
    private messageService;
    private originalHost;
    private fakeUUIDs;
    constructor(http: HttpClient, messageService: MessageService);
    setOriginalHost(host: string): void;
    setMessageStore(msgStore: any, language: string): void;
    listEntityID(): Observable<string[] | {}>;
    listEntityIDbyRole(roleID: string): Observable<EntityMeta | {}>;
    getEntityMeta(entityID: string): Observable<EntityMeta | {}>;
    searchEntities(queryObject: QueryObject): Observable<any>;
    getEntityInstance(instanceGUID: string): Observable<Entity | any[]>;
    getRelationMeta(relationID: string): Observable<RelationMeta | {}>;
    getRelationMetaOfEntity(entityID: string): Observable<RelationMeta[]>;
    createEntityInstance(instance: Entity): Observable<any>;
    changeEntityInstance(instance: Entity): Observable<any>;
    deleteEntityInstance(instanceGUID: string): Observable<any>;
    listEntityType(term: string): Observable<EntityType[]>;
    getEntityTypeDesc(entityID: string): Observable<string | {}>;
    saveEntityType(entityType: any): Observable<any>;
    listRelation(term: string): Observable<Relation[]>;
    getRelationDesc(relationID: string): Observable<string | {}>;
    saveRelation(relation: any): Observable<any>;
    listRelationship(term: string): Observable<RelationshipH[]>;
    getRelationship(relationshipID: string): Observable<any>;
    getRelationshipDesc(relationshipID: string): Observable<string | {}>;
    saveRelationship(relationship: any): Observable<any>;
    listRole(term: string): Observable<RoleH[]>;
    getRole(roleID: string): Observable<any>;
    getRoleDesc(roleID: string): Observable<string | {}>;
    saveRole(role: any): Observable<any>;
    listDataElement(term: string): Observable<DataElementH[]>;
    getDataElement(elementID: string): Observable<any>;
    getDataElementDesc(elementID: string): Observable<string | {}>;
    saveDataElement(element: any): Observable<any>;
    listDataDomain(term: string): Observable<DataDomainH[]>;
    getDataDomain(domainID: string): Observable<any>;
    getDataDomainDesc(domainID: string): Observable<string | {}>;
    saveDataDomain(domain: any): Observable<any>;
    generateFakeRelationshipUUID(): string;
    private handleError;
}
