import type { InstanceRegistration } from '@n8n/api-types';
import { Logger } from '@n8n/backend-common';
import type { ClusterCheckResult, ClusterStateDiff } from '@n8n/decorators';
import { ClusterCheckMetadata } from '@n8n/decorators';
import { InstanceSettings } from 'n8n-core';
import { MessageEventBus } from '../../../eventbus/message-event-bus/message-event-bus';
import { Push } from '../../../push';
import { InstanceRegistryService } from '../instance-registry.service';
export declare class CheckService {
    private readonly instanceSettings;
    private readonly instanceRegistryService;
    private readonly clusterCheckMetadata;
    private readonly messageEventBus;
    private readonly push;
    private reconcileController?;
    private reconcileTimer;
    private isShuttingDown;
    private readonly checks;
    private readonly logger;
    constructor(logger: Logger, instanceSettings: InstanceSettings, instanceRegistryService: InstanceRegistryService, clusterCheckMetadata: ClusterCheckMetadata, messageEventBus: MessageEventBus, push: Push);
    init(): void;
    startReconciliation(): void;
    stopReconciliation(): void;
    shutdown(): void;
    private scheduleNextReconcile;
    private discoverChecks;
    private runReconcileSafely;
    runChecks(): Promise<{
        currentState: Map<string, InstanceRegistration>;
        results: Array<{
            checkName: string;
            checkDisplayName?: string;
            result?: ClusterCheckResult;
            failed?: true;
        }>;
    }>;
    private reconcile;
    private processResult;
    private logWarning;
    private emitAuditEvent;
    private broadcastPush;
}
export declare function computeDiff(previousState: ReadonlyMap<string, InstanceRegistration>, currentState: ReadonlyMap<string, InstanceRegistration>): ClusterStateDiff;
