import type { Combine } from 'ts-gems';
import { OpraSchema } from '../../schema/index.js';
import type { ApiDocument } from '../api-document.js';
import { HttpMediaType } from './http-media-type.js';
/**
 * @namespace HttpMultipartField
 */
export declare namespace HttpMultipartField {
    interface Metadata extends Combine<Pick<OpraSchema.HttpMultipartField, 'fieldName' | 'fieldType' | 'required'>, HttpMediaType.Metadata> {
    }
    interface Options extends Combine<Pick<OpraSchema.HttpMultipartField, 'fieldName' | 'fieldType' | 'required'>, HttpMediaType.Options> {
    }
    interface InitArguments extends Combine<Pick<OpraSchema.HttpMultipartField, 'fieldName' | 'fieldType' | 'required'>, HttpMediaType.InitArguments> {
    }
}
/**
 *
 * @class HttpMultipartField
 */
export declare class HttpMultipartField extends HttpMediaType {
    fieldName: string | RegExp;
    fieldType: OpraSchema.HttpMultipartFieldType;
    required?: boolean;
    constructor(owner: HttpMediaType | HttpMultipartField, initArgs: HttpMultipartField.InitArguments);
    toJSON(options?: ApiDocument.ExportOptions): OpraSchema.HttpMultipartField;
}
