/**
 * Response Discovery Service
 * Finds and manages PIE response components for tool-to-response integration
 *
 * Enables tools (e.g., calculator) to insert content into response fields
 * Based on capability-based interface pattern (inspired by VS Code extension API)
 */
import type { ContentFormat, PIEResponseComponent, ResponseDiscoveryService } from "./types.js";
export declare class ResponseDiscoveryServiceImpl implements ResponseDiscoveryService {
    private responses;
    private activeResponseId;
    private activeResponseListeners;
    /**
     * Get currently active (focused) response component
     */
    getActiveResponse(): PIEResponseComponent | null;
    /**
     * Get response by ID
     */
    getResponse(responseId: string): PIEResponseComponent | null;
    /**
     * Get all registered responses
     */
    getAllResponses(): PIEResponseComponent[];
    /**
     * Get responses that accept a specific content format
     */
    getResponsesAccepting(format: ContentFormat): PIEResponseComponent[];
    /**
     * Register a response component
     */
    registerResponse(response: PIEResponseComponent): void;
    /**
     * Unregister a response component
     */
    unregisterResponse(responseId: string): void;
    /**
     * Explicitly signal that a registered response is active.
     */
    signalActive(responseId: string): void;
    /**
     * Explicitly signal that a response is no longer active.
     */
    signalInactive(responseId: string): void;
    /**
     * Set active response (internal use)
     */
    private setActiveResponse;
    /**
     * Listen for active response changes
     */
    onActiveResponseChanged(listener: (response: PIEResponseComponent | null) => void): void;
    /**
     * Clear all responses (for cleanup)
     */
    clear(): void;
}
/**
 * Singleton instance
 */
export declare const responseDiscovery: ResponseDiscoveryServiceImpl;
