import { OnModuleInit } from '@nestjs/common';
import { Request, Response } from 'express';
import { McpModuleTransportOptions, McpServerOptions, McpSessionOptions } from '../../mcp.types';
import { McpLoggerService } from '../../services/logger.service';
import { RegistryService } from '../../services/registry.service';
import { SessionManager } from '../../services/session.manager';
export declare class StreamableService implements OnModuleInit {
    private readonly options;
    private readonly transportOptions;
    private readonly sessionOptions;
    private readonly registry;
    private readonly logger;
    private readonly sessionManager;
    private readonly sessionTimeoutMs;
    private readonly maxConcurrentSessions;
    private readonly cleanupIntervalMs;
    private readonly enabled;
    private cleanupTimer?;
    constructor(options: McpServerOptions, transportOptions: McpModuleTransportOptions, sessionOptions: McpSessionOptions, registry: RegistryService, logger: McpLoggerService, sessionManager: SessionManager);
    onModuleInit(): void;
    onModuleDestroy(): void;
    private startCleanupJob;
    private stopCleanupJob;
    private cleanupInactiveSessions;
    private createServer;
    handlePostRequest(req: Request, res: Response): Promise<void>;
    handleGetRequest(req: Request, res: Response): Promise<void>;
    handleDeleteRequest(req: Request, res: Response): Promise<void>;
}
