import type { NextFunction, Request, Response } from 'express';
import type { FastifyInstance } from 'fastify';
export interface RequestIdConfig {
    headerName?: string;
    generator?: () => string;
    trustProxy?: boolean;
    attributeName?: string;
}
interface RequestWithId extends Request {
    [key: string]: unknown;
    id?: string;
    correlationId?: string;
}
export declare function createRequestIdMiddleware(config?: RequestIdConfig): (req: Request & Partial<RequestWithId>, res: Response, next: NextFunction) => void;
export declare function fastifyRequestId(fastify: FastifyInstance, options?: RequestIdConfig): Promise<void>;
export declare function getRequestId(req: RequestWithId, options?: RequestIdConfig): string;
export declare function correlateLogger(logger: {
    child: (context: Record<string, unknown>) => unknown;
}, req: RequestWithId, options?: RequestIdConfig): unknown;
export default createRequestIdMiddleware;
//# sourceMappingURL=request-id-middleware.d.ts.map