import { RequestHandler } from '@apollo/client';
import { IncomingMessage, ServerResponse } from 'http';

type Response = ServerResponse;
type SSRContext = {
    headers: Record<string, string>;
};
type TracingMiddlewareOptions = {
    serviceUrl: string;
    codeVersion: string;
    target?: string;
};
declare function getTracingMiddleware(options: TracingMiddlewareOptions): RequestHandler;
declare function prepareSSRContext(req?: IncomingMessage, res?: Response): SSRContext;

export { type TracingMiddlewareOptions, getTracingMiddleware, prepareSSRContext };
