import { OnModuleInit } from '@nestjs/common';
import { DiscoveryService } from '@nestjs/core';
import { TemporalOptions, ActivityModuleOptions, ActivityMethodHandler, DiscoveredActivity, DiscoveryServiceStats, DiscoveryHealthStatus, ActivityExecutionResult, ComponentDiscoveryResult } from '../interfaces';
import { TemporalMetadataAccessor } from './temporal-metadata.service';
export declare class TemporalDiscoveryService implements OnModuleInit {
    private readonly discoveryService;
    private readonly metadataAccessor;
    private readonly options;
    private readonly activityModuleOptions;
    private readonly logger;
    private readonly discoveredActivities;
    private isDiscoveryComplete;
    private discoveryStartTime;
    private lastDiscoveryTime;
    constructor(discoveryService: DiscoveryService, metadataAccessor: TemporalMetadataAccessor | undefined, options: TemporalOptions, activityModuleOptions?: ActivityModuleOptions);
    onModuleInit(): Promise<void>;
    getDiscoveredActivities(): Map<string, DiscoveredActivity>;
    getActivity(name: string): ActivityMethodHandler | undefined;
    getAllActivities(): Record<string, ActivityMethodHandler>;
    hasActivity(name: string): boolean;
    getActivityNames(): string[];
    executeActivity(name: string, ...args: unknown[]): Promise<ActivityExecutionResult>;
    rediscover(): Promise<ComponentDiscoveryResult>;
    getStats(): DiscoveryServiceStats;
    getHealthStatus(): DiscoveryHealthStatus;
    private discoverComponents;
    private processWrapper;
    private discoverActivitiesInClass;
    private clearDiscoveredComponents;
    private getTotalDiscovered;
    private getWrapperName;
    private logDiscoveryResults;
    private logDiscoveredComponents;
}
