import type { ExecutionContext } from '../types/core';
import type { EventSource, EventSourceSubscribeOptions } from './event-source-registry';
import type { ContextProviderRegistry } from './context-provider-registry';
import type { EventSourceRegistry } from './event-source-registry';
export interface RegistryIntegrationOptions {
    enableContextProviders?: boolean;
    enableEventSources?: boolean;
    registry?: {
        context?: ContextProviderRegistry;
        eventSources?: EventSourceRegistry;
    };
}
export declare class RegistryIntegration {
    private options;
    private contextRegistry;
    private eventSourceRegistry;
    private contextCache;
    constructor(options?: RegistryIntegrationOptions);
    enhanceContext(baseContext: ExecutionContext): ExecutionContext;
    getEventSource(eventName: string): EventSource | undefined;
    hasEventSource(eventName: string): boolean;
    subscribeToEventSource(eventSourceName: string, options: EventSourceSubscribeOptions, context: ExecutionContext): import("./event-source-registry").EventSourceSubscription;
    getEventSourceNames(): string[];
    getContextProviderNames(): string[];
    destroy(): void;
}
export declare function createRegistryIntegration(options?: RegistryIntegrationOptions): RegistryIntegration;
export declare function getDefaultRegistryIntegration(): RegistryIntegration;
export declare function resetDefaultRegistryIntegration(): void;
//# sourceMappingURL=runtime-integration.d.ts.map