import { Observable } from "rxjs";
import { BaseCRUDService } from "../../base/shared/base.service";
import { HttpUtilsService } from "../service/http-utils.service";
import { MessageService } from "../service/message.service";
import { DomainService } from "../service/domain.service";
import { SessionSharedService } from "../service/session-shared.service";
import * as i0 from "@angular/core";
/**
 Servicio que devuelve los valores de un dominio ofrecidos por DomainService pero
 añadiendo un nivel de caché en sesión.

 De este modo, si N componentes quieren consumir el mismo servicio no provocaremos N llamadas REST.

 Esto lo hacemos solo con dominios ya que sabemos que no cambiarán durante el ciclo de vida de la aplicación.
 */
export declare class DomainCachedService extends BaseCRUDService {
    protected messageService: MessageService;
    protected http: HttpUtilsService;
    protected domainService: DomainService;
    protected sessionShared: SessionSharedService;
    private cachedResolvers;
    constructor(messageService: MessageService, http: HttpUtilsService, domainService: DomainService, sessionShared: SessionSharedService);
    getDominio(dominio: string): Observable<any>;
    setDominio(dominio: string, data: any): void;
    static ɵfac: i0.ɵɵFactoryDef<DomainCachedService, never>;
    static ɵprov: i0.ɵɵInjectableDef<DomainCachedService>;
}
