import { Logger } from '../Logger';
import type { RedisServicePubSubPublisher } from './redis/RedisServicePubSubPublisher';
import type { RedisServiceCommand } from './redis/RedisServiceCommands';
import { RedisService } from './redis.service';
import { MultiMainSetup } from './orchestration/main/MultiMainSetup.ee';
import type { WorkflowActivateMode } from 'n8n-workflow';
import { InstanceSettings } from 'n8n-core';
export declare class OrchestrationService {
    private readonly logger;
    private readonly instanceSettings;
    private readonly redisService;
    readonly multiMainSetup: MultiMainSetup;
    constructor(logger: Logger, instanceSettings: InstanceSettings, redisService: RedisService, multiMainSetup: MultiMainSetup);
    protected isInitialized: boolean;
    private isMultiMainSetupLicensed;
    setMultiMainSetupLicensed(newState: boolean): void;
    get isMultiMainSetupEnabled(): boolean;
    get isSingleMainSetup(): boolean;
    redisPublisher: RedisServicePubSubPublisher;
    get instanceId(): string;
    get isLeader(): boolean;
    get isFollower(): boolean;
    sanityCheck(): boolean;
    init(): Promise<void>;
    shutdown(): Promise<void>;
    protected initPublisher(): Promise<void>;
    publish(command: RedisServiceCommand, data?: unknown): Promise<void>;
    getWorkerStatus(id?: string): Promise<void>;
    getWorkerIds(): Promise<void>;
    shouldAddWebhooks(activationMode: WorkflowActivateMode): boolean;
    shouldAddTriggersAndPollers(): boolean;
}
