import type { MultipartBodyLike } from "./types"; export type MultipartFieldValue = string | number | boolean | Blob; export type MultipartFileSource = string | Blob | ArrayBuffer | ArrayBufferView; export interface MultipartFileOptions { filename: string; contentType?: string; } export interface MultipartFileValue extends MultipartFileOptions { data: MultipartFileSource; } export type MultipartValue = MultipartFieldValue | MultipartFileValue; export type MultipartRecord = Record; export declare class MultipartForm implements MultipartBodyLike { private readonly formData; append(name: string, value: MultipartFieldValue): this; appendFile(name: string, value: MultipartFileSource, options: MultipartFileOptions): this; appendJson(name: string, value: unknown, filename?: string): this; toFormData(): FormData; static fromRecord(record: MultipartRecord): MultipartForm; } export declare function createMultipartForm(record?: MultipartRecord): MultipartForm;