import * as plugins from '../../plugins.js';
import type { OpsServer } from '../classes.opsserver.js';
import * as interfaces from '../../../dist_ts_interfaces/index.js';
export declare class TelemetryHandler {
    private opsServerRef;
    typedrouter: plugins.typedrequest.TypedRouter<plugins.typedrequestInterfaces.ITypedRequest>;
    private subscriptions;
    private logWorkers;
    private metricWorkers;
    private logPushQueues;
    private peerPushQueues;
    private sweepInterval;
    private readonly leaseMs;
    private readonly sweepIntervalMs;
    private readonly metricsIntervalMs;
    private readonly maxQueuedLogEntries;
    private readonly pushTimeoutMs;
    constructor(opsServerRef: OpsServer);
    private registerHandlers;
    private getPeerId;
    private startSweepLoop;
    stop(): void;
    private validateTarget;
    private getTargetKey;
    private hasSubscriptionsForTarget;
    private getSubscriptionsForTarget;
    private removeSubscription;
    private removePeerSubscriptions;
    private cleanupTargetIfUnused;
    private sweepSubscriptions;
    private getActivePeerIds;
    private getTypedSocket;
    private getActivePeers;
    private getActivePeerById;
    private ensureTargetWorker;
    private ensureLogWorker;
    private startLogWorker;
    private scheduleLogWorkerRestart;
    private closeLogWorker;
    private ensureMetricWorker;
    private runMetricWorkerTick;
    private resolveContainerId;
    private parseLogLine;
    private pushLog;
    private pushCurrentMetric;
    private enqueueLog;
    private flushLogQueue;
    private getCurrentStats;
    private pushToSubscribers;
    private sendTelemetryPush;
    private sendTelemetryPushNow;
    prepareServiceRuntimeReplacement(serviceNameArg: string): Promise<void>;
    refreshServiceTelemetry(serviceNameArg: string): Promise<void>;
    stopServiceTelemetry(serviceNameArg: string): void;
    removeServiceTelemetry(serviceNameArg: string): void;
    refreshPlatformServiceTelemetry(serviceTypeArg: interfaces.data.TPlatformServiceType): Promise<void>;
    stopPlatformServiceTelemetry(serviceTypeArg: interfaces.data.TPlatformServiceType): void;
    removePlatformServiceTelemetry(serviceTypeArg: interfaces.data.TPlatformServiceType): void;
    private removeTargetTelemetry;
}
