/**
 * IDE Extensions Server
 *
 * Core server for IDE integration that handles connections,
 * requests, and responses from various IDE clients.
 */
import { EventEmitter } from 'events';
import type { IDEConnection, IDERequest, IDEExtensionsConfig } from './types.js';
export declare class IDEExtensionsServer extends EventEmitter {
    private config;
    private server;
    private connections;
    private handlers;
    private running;
    constructor(config?: Partial<IDEExtensionsConfig>);
    /**
     * Start the server
     */
    start(): Promise<void>;
    /**
     * Stop the server
     */
    stop(): Promise<void>;
    /**
     * Check if server is running
     */
    isRunning(): boolean;
    /**
     * Get connected clients
     */
    getConnections(): IDEConnection[];
    /**
     * Send notification to all connected clients
     */
    broadcast(method: string, params: unknown): void;
    /**
     * Send notification to specific client
     */
    notify(connectionId: string, method: string, params: unknown): void;
    /**
     * Register request handler
     */
    registerHandler(method: string, handler: (request: IDERequest, connection: IDEConnection) => Promise<unknown>): void;
    /**
     * Generate VS Code extension manifest
     */
    generateVSCodeExtension(): {
        packageJson: string;
        extensionTs: string;
    };
    /**
     * Generate Neovim plugin
     */
    generateNeovimPlugin(): string;
    /**
     * Format server status
     */
    formatStatus(): string;
    private handleConnection;
    private handleRequest;
    private registerDefaultHandlers;
    private detectIDEType;
}
export declare function getIDEExtensionsServer(config?: Partial<IDEExtensionsConfig>): IDEExtensionsServer;
export declare function resetIDEExtensionsServer(): void;
