import { Checksum, UploadxFile } from '../storages'; import { Headers, IncomingMessage, ServerResponse } from '../types'; import { BaseHandler, UploadxOptions } from './base-handler'; export declare function rangeParser(rangeHeader?: string): { start: number; size: number; }; /** * [X-headers protocol implementation](https://github.com/kukhariev/node-uploadx/blob/master/proto.md#requests-overview) */ export declare class Uploadx extends BaseHandler { static RESUME_STATUS_CODE: number; /** * Create File from request and send a file url to client */ post(req: IncomingMessage, res: ServerResponse): Promise; patch(req: IncomingMessage, res: ServerResponse): Promise; /** * Write a chunk to file or/and return chunk offset */ put(req: IncomingMessage, res: ServerResponse): Promise; /** * Delete upload */ delete(req: IncomingMessage, res: ServerResponse): Promise; getId(req: IncomingMessage): string; buildHeaders(file: UploadxFile, headers?: Headers): Headers; /** * Build file url from request */ buildFileUrl(req: IncomingMessage & { originalUrl?: string; }, file: UploadxFile & { GCSUploadURI?: string; }): string; getMetadata(req: IncomingMessage): Promise>; extractChecksum(req: IncomingMessage): Checksum; } /** * Basic express wrapper * @example * ```ts * app.use('/files', uploadx({directory: '/tmp', maxUploadSize: '250GB'})); * ``` */ export declare function uploadx(options?: UploadxOptions): (req: IncomingMessage, res: ServerResponse) => void; export declare namespace uploadx { var upload: (options?: UploadxOptions) => (req: IncomingMessage, res: ServerResponse, next?: (() => void) | undefined) => void; }