import type { Readable } from "node:stream";
import type { BusboyOptions, MulterFile, StorageEngine } from "../interfaces";
export type ParseMode = "single" | "array" | "fields" | "any" | "none";
export interface ParseConstraints {
    fieldName?: string;
    maxCount?: number;
    uploadFields?: Array<{
        name: string;
        maxCount?: number;
    }>;
}
export declare function getStream(req: any): Readable;
export declare function resolveStorage(options: BusboyOptions): StorageEngine;
export declare function parseMultipart(req: any, options: BusboyOptions, mode: ParseMode, constraints?: ParseConstraints): Promise<{
    files: MulterFile[];
    body: Record<string, string | string[]>;
}>;
