import { IncomingMessage } from '../types'; import { ERRORS, HttpError } from '../utils'; import { File, FileInit, FilePart, FileQuery } from './file'; import { LocalMetaStorageOptions } from './local-meta-storage'; import { MetaStorage } from './meta-storage'; import { BaseStorage, BaseStorageOptions } from './storage'; export declare class DiskFile extends File { } export type DiskStorageOptions = BaseStorageOptions & { /** * Uploads directory * @defaultValue './files' */ directory?: string; /** * Configuring metafile storage on the local disk * @example * ```ts * const storage = new DiskStorage({ * directory: 'upload', * metaStorageConfig: { directory: '/tmp/upload-metafiles', prefix: '.' } * }); * ``` */ metaStorageConfig?: LocalMetaStorageOptions; }; /** * Local Disk Storage */ export declare class DiskStorage extends BaseStorage { config: DiskStorageOptions; checksumTypes: string[]; directory: string; meta: MetaStorage; constructor(config?: DiskStorageOptions); normalizeError(err: Error): HttpError; accessCheck(): Promise; create(req: IncomingMessage, fileInit: FileInit): Promise; write(part: FilePart | FileQuery): Promise; delete({ id }: FileQuery): Promise; /** * Returns path for the uploaded file */ getFilePath(filename: string): string; protected _write(part: FilePart & File): Promise<[number, ERRORS?]>; }