import type { UploadedFile } from '../FileUpload';
import type { IncomingMessage } from '../../node-singletons/http';
export type MultipartFieldValue = string | string[];
export type ParsedMultipartData = {
    fields: Record<string, MultipartFieldValue>;
    files: Record<string, UploadedFile[]>;
};
export type MultipartParseInput = {
    req: IncomingMessage;
    contentType: string;
    /**
     * Limits are enforced by the parser implementation.
     * Core provides defaults via env vars, but the parser may choose stricter behavior.
     */
    limits: {
        maxFileSizeBytes: number;
        maxFiles: number;
        maxFields: number;
        maxFieldSizeBytes: number;
    };
};
export type MultipartParserProvider = (input: MultipartParseInput) => Promise<ParsedMultipartData>;
declare function register(next: MultipartParserProvider): void;
declare function get(): MultipartParserProvider | null;
declare function has(): boolean;
declare function clear(): void;
export declare const MultipartParserRegistry: Readonly<{
    register: typeof register;
    get: typeof get;
    has: typeof has;
    clear: typeof clear;
}>;
export default MultipartParserRegistry;
//# sourceMappingURL=MultipartParserRegistry.d.ts.map