import type { FastifyRequest } from 'fastify';
import type { Readable } from 'node:stream';
interface MultipartBody {
    [key: string]: unknown;
    payload?: Readable;
}
/**
 * Parse a multipart/form-data request body for the operations API.
 *
 * Field parts populate properties on the returned body object; values that look like JSON
 * (`{...}`, `[...]`, numbers, booleans, null) are decoded so the operations API sees the
 * same shape it would from a JSON/CBOR body. The (optional) file part — by convention the
 * last part, named `payload` — is exposed as a Readable on `body.payload` and streamed
 * lazily by the operation handler; this lets us deploy components larger than the Node.js
 * 2 GB Buffer cap.
 *
 * The CLI must place the file part LAST so all dispatching fields (`operation`, auth-
 * relevant flags, etc.) have arrived by the time the route handler runs.
 */
export declare function parseMultipartRequest(request: FastifyRequest, rawStream: Readable, done: (err: Error | null, body?: MultipartBody) => void): void;
export {};
