import { Attachment } from "./attachment.schema"; import * as mongoose from "mongoose"; import { EntitiesService } from "../entities/entities.service"; import { BaseService } from "../common/base/base.service"; import { ClsService } from "nestjs-cls"; import { SearchResultDto } from "../common/dto/search_result.dto"; export declare class AttachmentService extends BaseService { readonly cls: ClsService; private entitiesService; protected model: mongoose.Model; constructor(cls: ClsService, entitiesService: EntitiesService, model: mongoose.Model); init(): Promise; initRefresh(): Promise; private _getProvider; private _generateHash; private _getFileDataFromUrl; private _getFileInfo; private _decompressData; private _validateUploadData; private _upload; private _getUniqueFilename; private _saveAttachement; upload(data: any): Promise & Attachment & Required<{ _id: mongoose.Types.ObjectId; }> & { __v: number; }>; download(path: string, filename: string): Promise; downloadBase64(id: string): Promise; downloadStream(id: string): Promise; delete(id: string, ignoreDeleteFile?: boolean): Promise; get(id: string): Promise & Attachment & Required<{ _id: mongoose.Types.ObjectId; }> & { __v: number; }>; markDeleted(entity: string, ids: Array): Promise; bulkDelete(ids: string[], ignoreDeleteStorage?: boolean): Promise; cleanData(): Promise; bulkAction(data: any): Promise; search(keywords: string, filters?: any, page?: number, page_size?: number, sort?: string, grouping?: Array, noTranslate?: boolean, fields?: Array): Promise; }