/** * Node Execution Service * Handles fetching and managing node execution information from the backend */ import type { NodeExecutionInfo } from '../types/index.js'; /** * Service for managing node execution information */ export declare class NodeExecutionService { private static instance; private cache; private cacheTimeout; private lastFetch; private apiUnavailable; private apiUnavailableUntil; private constructor(); static getInstance(): NodeExecutionService; /** * Get execution information for a specific node from pipeline data */ getNodeExecutionInfo(nodeId: string, pipelineId?: string): Promise; /** * Get execution information for multiple nodes from pipeline data */ getMultipleNodeExecutionInfo(nodeIds: string[], pipelineId?: string): Promise>; /** * Get all node execution counts */ getAllNodeExecutionCounts(): Promise>; /** * Get cached execution info for a node */ getCachedNodeExecutionInfo(nodeId: string): NodeExecutionInfo | null; /** * Clear cache for a specific node */ clearNodeCache(nodeId: string): void; /** * Clear all cache */ clearAllCache(): void; /** * Check if cache is stale */ isCacheStale(): boolean; /** * Update execution info for a node (for real-time updates) */ updateNodeExecutionInfo(nodeId: string, executionInfo: Partial): void; /** * Map job status to execution status */ private mapJobStatusToExecutionStatus; /** * Batch update execution info for multiple nodes */ updateMultipleNodeExecutionInfo(updates: Record>): void; /** * Reset API availability status (useful for testing or when API becomes available) */ resetApiAvailability(): void; } export declare const nodeExecutionService: NodeExecutionService;