import { ActiveWorkflows } from 'n8n-core';
import type { ExecutionError, IGetExecutePollFunctions, IGetExecuteTriggerFunctions, IWorkflowBase, IWorkflowExecuteAdditionalData, WorkflowActivateMode, WorkflowExecuteMode } from 'n8n-workflow';
import { Workflow } from 'n8n-workflow';
import type { IWorkflowDb } from './Interfaces';
import type { WorkflowEntity } from './databases/entities/WorkflowEntity';
import { ActiveExecutions } from './ActiveExecutions';
import { ExecutionService } from './executions/execution.service';
import { NodeTypes } from './NodeTypes';
import { ExternalHooks } from './ExternalHooks';
import { WebhookService } from './services/webhook.service';
import { Logger } from './Logger';
import { WorkflowRepository } from './databases/repositories/workflow.repository';
import { OrchestrationService } from './services/orchestration.service';
import { ActivationErrorsService } from './ActivationErrors.service';
import { ActiveWorkflowsService } from './services/activeWorkflows.service';
import { WorkflowExecutionService } from './workflows/workflowExecution.service';
import { WorkflowStaticDataService } from './workflows/workflowStaticData.service';
export declare class ActiveWorkflowManager {
    private readonly logger;
    private readonly activeWorkflows;
    private readonly activeExecutions;
    private readonly externalHooks;
    private readonly nodeTypes;
    private readonly webhookService;
    private readonly workflowRepository;
    private readonly orchestrationService;
    private readonly activationErrorsService;
    private readonly executionService;
    private readonly workflowStaticDataService;
    private readonly activeWorkflowsService;
    private readonly workflowExecutionService;
    private queuedActivations;
    constructor(logger: Logger, activeWorkflows: ActiveWorkflows, activeExecutions: ActiveExecutions, externalHooks: ExternalHooks, nodeTypes: NodeTypes, webhookService: WebhookService, workflowRepository: WorkflowRepository, orchestrationService: OrchestrationService, activationErrorsService: ActivationErrorsService, executionService: ExecutionService, workflowStaticDataService: WorkflowStaticDataService, activeWorkflowsService: ActiveWorkflowsService, workflowExecutionService: WorkflowExecutionService);
    init(): Promise<void>;
    getAllWorkflowActivationErrors(): Promise<import("./services/cache/cache.types").Hash<string>>;
    removeAll(): Promise<void>;
    allActiveInMemory(): string[];
    isActive(workflowId: string): Promise<boolean>;
    addWebhooks(workflow: Workflow, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, activation: WorkflowActivateMode): Promise<void>;
    clearWebhooks(workflowId: string): Promise<void>;
    getExecutePollFunctions(workflowData: IWorkflowDb, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, activation: WorkflowActivateMode): IGetExecutePollFunctions;
    getExecuteTriggerFunctions(workflowData: IWorkflowDb, additionalData: IWorkflowExecuteAdditionalData, mode: WorkflowExecuteMode, activation: WorkflowActivateMode): IGetExecuteTriggerFunctions;
    executeErrorWorkflow(error: ExecutionError, workflowData: IWorkflowBase, mode: WorkflowExecuteMode): void;
    addActiveWorkflows(activationMode: 'init' | 'leadershipChange'): Promise<void>;
    clearAllActivationErrors(): Promise<void>;
    addAllTriggerAndPollerBasedWorkflows(): Promise<void>;
    removeAllTriggerAndPollerBasedWorkflows(): Promise<void>;
    add(workflowId: string, activationMode: WorkflowActivateMode, existingWorkflow?: WorkflowEntity, { shouldPublish }?: {
        shouldPublish: boolean;
    }): Promise<boolean | undefined>;
    private countTriggers;
    private addQueuedWorkflowActivation;
    private removeQueuedWorkflowActivation;
    removeAllQueuedWorkflowActivations(): void;
    remove(workflowId: string): Promise<void>;
    removeWorkflowTriggersAndPollers(workflowId: string): Promise<void>;
    addTriggersAndPollers(dbWorkflow: WorkflowEntity, workflow: Workflow, { activationMode, executionMode, additionalData, }: {
        activationMode: WorkflowActivateMode;
        executionMode: WorkflowExecuteMode;
        additionalData: IWorkflowExecuteAdditionalData;
    }): Promise<void>;
    removeActivationError(workflowId: string): Promise<void>;
}
