import { Logger } from '@n8n/backend-common'; import { AgentsConfig } from '@n8n/config'; import { ErrorReporter, InstanceSettings } from 'n8n-core'; import { AgentChannelStatusReporter } from './agent-channel-status-reporter'; import { ChatIntegrationRegistry } from './agent-chat-integration'; import { ChatIntegrationService } from './chat-integration.service'; import { AgentChannelStatusRepository } from '../repositories/agent-channel-status.repository'; import { AgentRepository } from '../repositories/agent.repository'; export type ChannelReconcileReason = 'startup' | 'leader-takeover' | 'interval'; export declare class AgentChannelReconciler { private readonly logger; private readonly agentsConfig; private readonly agentRepository; private readonly channelStatusRepository; private readonly statusReporter; private readonly chatIntegrationService; private readonly integrationRegistry; private readonly instanceSettings; private readonly errorReporter; private reconcileInterval; private isInitialized; private isShuttingDown; private inFlight; constructor(logger: Logger, agentsConfig: AgentsConfig, agentRepository: AgentRepository, channelStatusRepository: AgentChannelStatusRepository, statusReporter: AgentChannelStatusReporter, chatIntegrationService: ChatIntegrationService, integrationRegistry: ChatIntegrationRegistry, instanceSettings: InstanceSettings, errorReporter: ErrorReporter); init(): void; shutdown(): Promise; private settleInFlight; reconcileOnLeaderTakeover(): Promise; reconcile(reason: ChannelReconcileReason): Promise; private runPass; private runsHere; private settleWanted; private affirmRunning; private releaseGhosts; private forgetOwnOrphans; private sweepExpired; private refOf; }