import { OnModuleInit, OnModuleDestroy, OnApplicationBootstrap, BeforeApplicationShutdown } from '@nestjs/common';
import { Worker, NativeConnection } from '@temporalio/worker';
import { TemporalOptions, WorkerStatus, WorkerRestartResult, WorkerHealthStatus, WorkerStats, ActivityRegistrationResult, WorkerDefinition, MultipleWorkersInfo, CreateWorkerResult } from '../interfaces';
import { TemporalDiscoveryService } from './temporal-discovery.service';
export declare class TemporalWorkerManagerService implements OnModuleInit, OnModuleDestroy, OnApplicationBootstrap, BeforeApplicationShutdown {
    private readonly discoveryService;
    private readonly options;
    private readonly injectedConnection;
    private readonly logger;
    private worker;
    private restartCount;
    private isInitialized;
    private isRunning;
    private lastError;
    private startedAt;
    private readonly activities;
    private readonly workers;
    private connection;
    private shutdownPromise;
    constructor(discoveryService: TemporalDiscoveryService, options: TemporalOptions, injectedConnection: NativeConnection | null);
    private get maxRestarts();
    private get autoRestartEnabled();
    onModuleInit(): Promise<void>;
    onApplicationBootstrap(): Promise<void>;
    beforeApplicationShutdown(signal?: string): Promise<void>;
    onModuleDestroy(): Promise<void>;
    private initializeMultipleWorkers;
    private createWorkerFromDefinition;
    registerWorker(workerDef: WorkerDefinition): Promise<CreateWorkerResult>;
    getWorker(taskQueue: string): Worker | null;
    getAllWorkers(): MultipleWorkersInfo;
    getWorkerStatusByTaskQueue(taskQueue: string): WorkerStatus | null;
    startWorkerByTaskQueue(taskQueue: string): Promise<void>;
    stopWorkerByTaskQueue(taskQueue: string): Promise<void>;
    private runWorkerWithAutoRestartByTaskQueue;
    private autoRestartWorkerByTaskQueue;
    private cleanupWorkerForRestartByTaskQueue;
    getConnection(): NativeConnection | null;
    private getWorkerStatusFromInstance;
    private loadActivitiesForWorker;
    startWorker(): Promise<void>;
    private runWorkerWithAutoRestart;
    private autoRestartWorker;
    private cleanupWorkerForRestart;
    stopWorker(): Promise<void>;
    shutdown(): Promise<void>;
    restartWorker(): Promise<WorkerRestartResult>;
    getWorkerStatus(): WorkerStatus;
    getRegisteredActivities(): Record<string, Function>;
    registerActivitiesFromDiscovery(): Promise<ActivityRegistrationResult>;
    isWorkerAvailable(): boolean;
    isWorkerRunning(): boolean;
    getHealthStatus(): WorkerHealthStatus;
    getStats(): WorkerStats;
    private validateConfiguration;
    private createConnection;
    private shouldInitializeWorker;
    private initializeWorker;
    private loadActivitiesFromDiscovery;
    private createWorkerConfig;
    private shutdownWorker;
    private performShutdown;
    private getWorkflowSource;
    private getNativeState;
    private calculateWorkerHealth;
    private waitForDiscoveryCompletion;
    private safeShutdownWorker;
    private extractErrorMessage;
}
