#!/usr/bin/env node
import { EventEmitter } from 'node:events';
import { SSEMCPConfig } from './config/sse-config.js';
/**
 * SSE-based MCP Server with Multi-User Support
 */
export declare class SSEMCPServer extends EventEmitter {
    private server;
    private sessions;
    private tools;
    private apiClient;
    private config;
    private sessionManager;
    private heartbeatInterval;
    private oauthMiddleware?;
    private oauthRoutes?;
    constructor(config?: SSEMCPConfig);
    private setupServerHandlers;
    private setupSessionManagerHandlers;
    private setupHeartbeat;
    private performHeartbeat;
    private handleNewConnection;
    private handleMessage;
    private handleInitialize;
    private validateApiKey;
    private handleInitialized;
    private handleAuthenticate;
    private handleListTools;
    private handleToolCall;
    private handleSessionStats;
    private getAuthenticatedSessionCount;
    start(): Promise<void>;
    stop(): Promise<void>;
    getServerStats(): {
        activeSessions: number;
        authenticatedSessions: number;
        maxConnections: number;
        security: {
            activeSessions: number;
            blockedIPs: number;
            totalAuthAttempts: number;
            rateLimitViolations: number;
        };
        config: {
            port: number;
            host: string;
            rateLimitingEnabled: boolean;
            authRequired: boolean;
        };
    };
    private logInfo;
    private logWarn;
    private logError;
    private handleMessagePost;
    /**
     * Handle HTTP MCP requests (non-SSE clients)
     * This method provides a REST-like interface for MCP operations
     */
    private handleMCPHttp;
    private handleInitializePostWithAuth;
    private handleToolsListPost;
    private handleResourcesListPost;
    private handlePromptsListPost;
    private handleToolCallPost;
    private handleStatusCheck;
    private handleHealthCheck;
    private handleTestTools;
}
//# sourceMappingURL=sse-mcp-server.d.ts.map