import { type AgentIntegrationConfig, type ChatIntegrationDescriptor } from '@n8n/api-types'; import type { User } from '@n8n/db'; import { CredentialsService } from '../../credentials/credentials.service'; import { EventService } from '../../events/event.service'; import { AgentModificationTelemetryService, type AgentActor } from './agent-modification-telemetry.service'; import { AgentRuntimeCacheService } from './agent-runtime-cache.service'; import { AgentSetupCompletionService } from './agent-setup-completion.service'; import type { Agent } from './entities/agent.entity'; import { ChatIntegrationRegistry } from './integrations/agent-chat-integration'; import { AgentRepository } from './repositories/agent.repository'; export interface CredentialIntegrationMutationContext { user: User; modifiedBy: AgentActor; } export interface IntegrationRef { type: string; credentialId: string; } export interface IntegrationDelta { add?: AgentIntegrationConfig; remove?: IntegrationRef; } export interface IntegrationDeltaResult { agent: Agent; changed: boolean; removed?: AgentIntegrationConfig; published?: boolean; } export declare function matchesIntegrationRef(integration: { type: string; credentialId: string; }, ref: IntegrationRef): boolean; export declare class AgentIntegrationPersistenceService { private readonly agentRepository; private readonly runtimeCacheService; private readonly chatIntegrationRegistry; private readonly eventService; private readonly modificationTelemetry; private readonly credentialsService; private readonly setupCompletionService; constructor(agentRepository: AgentRepository, runtimeCacheService: AgentRuntimeCacheService, chatIntegrationRegistry: ChatIntegrationRegistry, eventService: EventService, modificationTelemetry: AgentModificationTelemetryService, credentialsService: CredentialsService, setupCompletionService: AgentSetupCompletionService); listChatIntegrations(): ChatIntegrationDescriptor[]; applyIntegrationDelta(agent: Agent, delta: IntegrationDelta, context: CredentialIntegrationMutationContext): Promise; private validateAddition; private recordIntegrationMutation; }