import { UploadxFile } from '../storages';
import { IncomingMessage, ServerResponse } from '../types';
import { BaseHandler, UploadxOptions } from './base-handler';
export declare class Multipart<TFile extends UploadxFile> extends BaseHandler<TFile> {
    post(req: IncomingMessage, res: ServerResponse): Promise<TFile>;
    /**
     * Delete upload
     */
    delete(req: IncomingMessage, res: ServerResponse): Promise<TFile>;
}
/**
 * Basic express wrapper
 * @example
 * ```ts
 * app.use('/files', multipart({directory: '/tmp', maxUploadSize: '250GB'}));
 * ```
 */
export declare function multipart<TFile extends UploadxFile>(options?: UploadxOptions<TFile>): (req: IncomingMessage, res: ServerResponse) => void;
export declare namespace multipart {
    var upload: <TFile extends UploadxFile>(options?: UploadxOptions<TFile>) => (req: IncomingMessage, res: ServerResponse, next?: (() => void) | undefined) => void;
}
