import type { Agent as RuntimeAgent } from '@n8n/agents'; import { Logger } from '@n8n/backend-common'; import { GlobalConfig } from '@n8n/config'; import type { User } from '@n8n/db'; import { CredentialsService } from '../../credentials/credentials.service'; import type { IAgentConfigurationTelemetryProperties } from '../../interfaces'; import type { PubSubCommandMap } from '../../scaling/pubsub/pubsub.event-map'; import { Publisher } from '../../scaling/pubsub/publisher.service'; import { AgentRuntimeReconstructionService } from './agent-runtime-reconstruction.service'; import { AgentRepository } from './repositories/agent.repository'; import type { ToolRegistry } from './tool-registry'; export interface GetRuntimeParams { agentId: string; projectId: string; integrationType?: string; usePublishedVersion?: boolean; user?: User; } export interface AgentRuntime { agent: RuntimeAgent; agentId: string; toolRegistry: ToolRegistry; projectId: string; telemetryConfiguration: IAgentConfigurationTelemetryProperties; } export declare class AgentRuntimeCacheService { private readonly logger; private readonly agentRepository; private readonly publisher; private readonly globalConfig; private readonly agentRuntimeReconstructionService; private readonly credentialsService; private readonly runtimes; private readonly runtimeInitializations; constructor(logger: Logger, agentRepository: AgentRepository, publisher: Publisher, globalConfig: GlobalConfig, agentRuntimeReconstructionService: AgentRuntimeReconstructionService, credentialsService: CredentialsService); private computeRuntimeCacheKey; private isRuntimeCacheKeyForAgent; clearRuntimes(agentId: string, options?: { skipBroadcast?: boolean; }): void; handleAgentConfigChanged(payload: PubSubCommandMap['agent-config-changed']): void; private closeAgentResources; getRuntime(params: GetRuntimeParams): Promise; private reconstructRuntime; }