import type { ServerResponse } from 'node:http';
import type { Readable } from 'node:stream';
type AnyObj = Record<string, unknown>;
/**
 * Pipe an SSE Readable to Node http.ServerResponse
 */
export declare function sendNodeSSE(res: ServerResponse, stream: Readable): void;
/**
 * Express response variant (duck-typed): res.set, res.write, res.end
 */
export declare function sendExpressSSE(res: AnyObj, stream: Readable): void;
/**
 * Fastify reply variant: reply.raw is ServerResponse
 */
export declare function sendFastifySSE(reply: AnyObj, stream: Readable): void;
/**
 * If the given payload contains __sse_responses or sseStream, stream it via the provided response object.
 * Otherwise, send JSON.
 * - Supported responders: Node ServerResponse, Express res, Fastify reply
 */
export declare function sendSSEOrJSON(resOrReply: AnyObj, payload: AnyObj): any;
export {};
