import { Logger } from '@n8n/backend-common';
import { WorkflowsConfig } from '@n8n/config';
import { WorkflowPublicationOutboxRepository, WorkflowPublicationReason, WorkflowPublicationTriggerStatusRepository, WorkflowRepository } from '@n8n/db';
import { ActiveWorkflowTriggers, ErrorReporter, InstanceSettings, Tracing } from 'n8n-core';
import { EventService } from '../../events/event.service';
import { NonWebhookTriggerRegistrar } from '../../workflows/triggers/non-webhook-trigger-registrar';
import { PublishedWorkflowTriggerDeactivator } from './published-workflow-trigger-deactivator';
import { WorkflowPublicationLifecycleLock } from './workflow-publication-lifecycle-lock';
import { WorkflowPublicationOutboxConsumer } from './workflow-publication-outbox-consumer';
export declare class WorkflowPublicationReconciler {
    private readonly workflowsConfig;
    private readonly triggerStatusRepository;
    private readonly outboxRepository;
    private readonly nonWebhookTriggerRegistrar;
    private readonly outboxConsumer;
    private readonly instanceSettings;
    private readonly errorReporter;
    private readonly tracing;
    private readonly eventService;
    private readonly lifecycleLock;
    private readonly workflowRepository;
    private readonly activeWorkflowTriggers;
    private readonly publishedWorkflowTriggerDeactivator;
    private reconcileInterval;
    private isShuttingDown;
    private readonly logger;
    constructor(logger: Logger, workflowsConfig: WorkflowsConfig, triggerStatusRepository: WorkflowPublicationTriggerStatusRepository, outboxRepository: WorkflowPublicationOutboxRepository, nonWebhookTriggerRegistrar: NonWebhookTriggerRegistrar, outboxConsumer: WorkflowPublicationOutboxConsumer, instanceSettings: InstanceSettings, errorReporter: ErrorReporter, tracing: Tracing, eventService: EventService, lifecycleLock: WorkflowPublicationLifecycleLock, workflowRepository: WorkflowRepository, activeWorkflowTriggers: ActiveWorkflowTriggers, publishedWorkflowTriggerDeactivator: PublishedWorkflowTriggerDeactivator);
    init(): void;
    startReconciler(): void;
    shutdown(): void;
    reconcile(reason: WorkflowPublicationReason): Promise<void>;
    reconcileOnLeaderTakeover(): Promise<void>;
    private findSurplusWorkflowIds;
    private removeGhostTriggers;
    private findMissingActiveWorkflows;
    private republishWorkflows;
    private groupByWorkflow;
}
