/**
 * In-Memory Stream Manager
 *
 * Default implementation for managing active SSE connections in a single server instance.
 * Streams are stored in memory and lost on server restart.
 *
 * For distributed deployments, use RedisStreamManager or PostgresStreamManager.
 */
import type { StreamManager } from "./index.js";
/**
 * In-memory stream management for SSE connections
 *
 * Stores active ReadableStreamDefaultController instances for pushing
 * server-initiated messages (notifications, sampling responses) to clients.
 *
 * Suitable for:
 * - Single-instance deployments
 * - Development environments
 * - Non-distributed architectures
 *
 * Not suitable for:
 * - Load-balanced deployments (streams on different servers)
 * - Horizontal scaling
 * - Session persistence requirements
 *
 * @example
 * ```typescript
 * import { MCPServer, InMemoryStreamManager } from 'mcp-use/server';
 *
 * const server = new MCPServer({
 *   name: 'my-server',
 *   version: '1.0.0',
 *   streamManager: new InMemoryStreamManager()
 * });
 * ```
 */
export declare class InMemoryStreamManager implements StreamManager {
    /**
     * Map of active SSE stream controllers
     * Key: sessionId, Value: ReadableStreamDefaultController
     */
    private streams;
    /**
     * Text encoder for converting strings to Uint8Array
     */
    private textEncoder;
    /**
     * Register an active SSE stream controller
     */
    create(sessionId: string, controller: ReadableStreamDefaultController): Promise<void>;
    /**
     * Send data to active SSE streams
     *
     * Directly enqueues data to in-memory controllers.
     * For distributed deployments, use RedisStreamManager instead.
     */
    send(sessionIds: string[] | undefined, data: string): Promise<void>;
    /**
     * Remove an active SSE stream
     */
    delete(sessionId: string): Promise<void>;
    /**
     * Check if an active stream exists
     */
    has(sessionId: string): Promise<boolean>;
    /**
     * Close all active streams
     */
    close(): Promise<void>;
    /**
     * Get the number of active streams
     * Useful for monitoring
     */
    get size(): number;
}
//# sourceMappingURL=memory.d.ts.map