import { AppContext } from '../data/app-context'; import { QueryCache } from '../data/query-cache'; import { ClusterInventory } from '../shared/cluster-inventory/cluster-inventory'; import { GatewayInventory } from '../shared/gateway-inventory/gateway-inventory'; import { GatewayInventoryDetail } from '../shared/gateway-inventory/gateway-inventory-detail'; import { ServerInventory } from '../shared/server-inventory/server-inventory'; import { ServerInventoryDetail } from '../shared/server-inventory/server-inventory-detail'; export interface InventoryQueryCachesParams { name?: string; retry?: number; } export interface InventoryQueryCachesOptions { serverCache?: { expiration?: number; }; serverCombinedCache?: { expiration?: number; }; gatewayCache?: { expiration?: number; }; gatewayCombinedCache?: { expiration?: number; }; clusterCache?: { expiration?: number; }; } export declare class InventoryQueryCaches { private appContext; private serverInventoryCache; private serverInventoryDetailCache; private gatewayInventoryCache; private gatewayInventoryDetailCache; private clusterInventoryCache; private serverInventorySharedContext; private serverInventoryCacheNodeName; private gatewayCached; private gatewayCombinedCached; serverCache: QueryCache; serverCombinedCache: QueryCache<[ServerInventory, ServerInventoryDetail], InventoryQueryCachesParams>; gatewayCache: QueryCache; gatewayCombinedCache: QueryCache<[GatewayInventory, GatewayInventoryDetail], InventoryQueryCachesParams>; clusterCache: QueryCache; constructor(appContext: AppContext, options?: InventoryQueryCachesOptions); /** * Clear all session storage. */ clear(): void; /** * Create server inventory query. * - It shares the query with ServerInventory and ServerInventoryCombined. Keep track the request and re-create if asked twice. * * @param params the inventory query parameters. * @param detail the state of server query or detail query. * @return Observable Shared ServerInventory observable. */ private createServerInventory; private createServerInventoryCombined; private createGatewayInventory; private createGatewayInventoryCombined; private createClusterInventory; }