import { type ZodType } from '@frontmcp/lazy-zod'; import { type RequestId } from '@frontmcp/protocol'; import { type ServerResponse } from '../../common'; import { type ElicitOptions, type ElicitResult } from '../../elicitation'; import { type AuthenticatedServerRequest } from '../../server/server.types'; import { RecreateableSSEServerTransport } from './sse-transport'; import { LocalTransportAdapter } from './transport.local.adapter'; export declare class TransportSSEAdapter extends LocalTransportAdapter { sessionId: string; /** * Configures common error and close handlers for SSE transports. */ private configureTransportHandlers; createTransport(sessionId: string, res: ServerResponse): RecreateableSSEServerTransport; /** * Recreates a transport with preserved session state. * Use this when restoring a session from Redis or other storage. * * @param sessionId - The session ID to restore * @param res - The new response stream for SSE * @param lastEventId - The last event ID that was sent (for reconnection support) */ createTransportFromSession(sessionId: string, res: ServerResponse, lastEventId?: number): RecreateableSSEServerTransport; initialize(req: AuthenticatedServerRequest, res: ServerResponse): Promise; handleRequest(req: AuthenticatedServerRequest, res: ServerResponse): Promise; /** * Send an elicitation request to the client. * * Only one elicit per session is allowed. A new elicit will cancel any pending one. * On timeout, an ElicitationTimeoutError is thrown to kill tool execution. * * In distributed mode, the pending elicitation is stored in Redis and results * are routed via pub/sub, allowing the response to be received by any node. */ sendElicitRequest(relatedRequestId: RequestId, message: string, requestedSchema: S, options?: ElicitOptions): Promise ? O : unknown>>; } //# sourceMappingURL=transport.sse.adapter.d.ts.map