import type { HttpRequest, ParsedRequest } from './types.js'; export declare function stripLeadingSlash(s: string): string; /** * Lift a single request header into an S3 command param. * Returns `{ [paramKey]: value }` or `{}` so it spreads cleanly * into a command input object. */ export declare function mapHeaderToParam(req: HttpRequest, headerKey: string, paramKey: string): Record | Record; /** * Extract `key` (S3 object key, no leading slash, decoded) and `query` * from an HTTP request. Different frameworks (Express, Fastify) and * the raw `http` module expose path/query differently, so we accept * both `req.path/req.query` and the raw `req.url`. * * Throws `InvalidRequest` for malformed percent-encoding or a null * byte in the decoded key (S3 rejects these and the surface area is * worth guarding against at the boundary). */ export declare function parseRequest(req: HttpRequest): ParsedRequest; //# sourceMappingURL=request-parser.d.ts.map