/**
 * @iota-big3/sdk-gateway
 * Service Discovery Registry - Clean Implementation
 */
import { EventEmitter } from 'events';
import { DiscoveredService, ServiceDiscoveryConfig } from '../types/gateway-types';
export declare class ServiceDiscovery extends EventEmitter {
    private services;
    private provider;
    private config;
    private updateInterval?;
    constructor(config: ServiceDiscoveryConfig);
    /**
     * Start service discovery
     */
    startAsync(): Promise<void>;
    /**
     * Stop service discovery
     */
    stopAsync(): Promise<void>;
    /**
     * Discover services based on provider
     */
    private discoverServicesAsync;
    /**
     * Discover static services from config
     */
    private discoverStaticServices;
    /**
     * Placeholder for Kubernetes service discovery
     */
    private discoverKubernetesServicesAsync;
    /**
     * Placeholder for Consul service discovery
     */
    private discoverConsulServicesAsync;
    /**
     * Placeholder for etcd service discovery
     */
    private discoverEtcdServicesAsync;
    /**
     * Register a service
     */
    registerService(service: DiscoveredService): void;
    /**
     * Check if service has changed
     */
    private hasChanged;
    /**
     * Get all discovered services
     */
    getServices(): DiscoveredService[];
    /**
     * Get service by name
     */
    getServiceByName(name: string): DiscoveredService | undefined;
}
//# sourceMappingURL=service-registry.d.ts.map