import { Response } from 'express';
import { Server } from '@modelcontextprotocol/sdk/server/index.js';
import { Config } from '../config/index';
interface SSEClient {
    id: string;
    response: Response;
    lastActivity: Date;
}
export declare class SSEServerTransport {
    private server;
    private app;
    private config;
    private clients;
    private cleanupInterval?;
    constructor(server: Server, config: Config);
    private setupMiddleware;
    private setupRoutes;
    private sendEvent;
    private handleRequest;
    broadcast(event: string, data: any): void;
    broadcastToSubscribers(event: string, data: any, filter?: (client: SSEClient) => boolean): void;
    private startCleanup;
    start(): Promise<void>;
    close(): Promise<void>;
}
export declare function createSSETransport(server: Server, config: Config): Promise<SSEServerTransport>;
export {};
//# sourceMappingURL=sse.d.ts.map