import { FileUploadOptions } from '../interfaces/file-upload-options.interface'; /** * 文件上传装饰器元数据键 */ export declare const FILE_UPLOAD_OPTIONS = "file_upload_options"; /** * 统一的文件上传装饰器 * * @example * ```typescript * @Post('upload') * @FileUpload({ types: [FileType.Image, FileType.PDF] }) * async upload(@UploadedFile() file: Express.Multer.File) { * return { url: file.path }; * } * ``` */ export declare function FileUpload(options?: FileUploadOptions): MethodDecorator; /** * 静态快捷方法命名空间 */ export declare namespace FileUpload { /** * 图片上传 * @example * ```typescript * @Post('photos') * @FileUpload.Image() * async uploadPhoto(@UploadedFile() file: Express.Multer.File) { * return { url: file.path }; * } * ``` */ function Image(options?: Partial): MethodDecorator; /** * 头像上传(带默认图片处理) * @example * ```typescript * @Post('users/:id/avatar') * @FileUpload.Avatar() * async uploadAvatar(@UploadedFile() file: Express.Multer.File) { * return { url: file.path }; * } * ``` */ function Avatar(options?: Partial): MethodDecorator; /** * 文档上传 * @example * ```typescript * @Post('documents') * @FileUpload.Document() * async uploadDocument(@UploadedFile() file: Express.Multer.File) { * return { url: file.path }; * } * ``` */ function Document(options?: Partial): MethodDecorator; /** * PDF 上传 */ function PDF(options?: Partial): MethodDecorator; /** * Excel 上传 */ function Excel(options?: Partial): MethodDecorator; /** * CSV 上传 */ function CSV(options?: Partial): MethodDecorator; /** * 视频上传 */ function Video(options?: Partial): MethodDecorator; /** * 音频上传 */ function Audio(options?: Partial): MethodDecorator; /** * 公开访问的文件上传 */ function Public(options?: Partial): MethodDecorator; }