import type { AgentConnector, ConnectorProtocol, ConnectorRegistry, AgentConfigWithConnector } from '../../services/connectors/types.js';
/**
 * Implementation of ConnectorRegistry
 * Manages registration and lookup of connector implementations
 */
declare class ConnectorRegistryImpl implements ConnectorRegistry {
    private connectors;
    /**
     * Register a connector implementation
     * @throws Error if connector with same type is already registered
     */
    register(connector: AgentConnector): void;
    /**
     * Get a connector by protocol type
     */
    get(type: ConnectorProtocol): AgentConnector | undefined;
    /**
     * Get all registered connectors
     */
    getAll(): AgentConnector[];
    /**
     * Check if a connector is registered
     */
    has(type: ConnectorProtocol): boolean;
    /**
     * Get connector for an agent config
     * Handles backwards compatibility with legacy configs
     *
     * Resolution order:
     * 1. If endpoint starts with 'mock://', use mock connector
     * 2. If connectorType is specified, use that
     * 3. Default to 'agui-streaming'
     */
    getForAgent(agent: AgentConfigWithConnector): AgentConnector;
    /**
     * Clear all registered connectors (useful for testing)
     */
    clear(): void;
    /**
     * Get list of registered connector types
     */
    getRegisteredTypes(): ConnectorProtocol[];
}
/**
 * Singleton instance of the connector registry
 */
export declare const connectorRegistry: ConnectorRegistryImpl;
/**
 * Helper function to get connector for an agent
 */
export declare function getConnectorForAgent(agent: AgentConfigWithConnector): AgentConnector;
/**
 * Helper function to register a connector
 */
export declare function registerConnector(connector: AgentConnector): void;
export {};
//# sourceMappingURL=registry.d.ts.map