import { CommonService } from './common/common.service'; import { BaseMedias } from './base/base.medias'; import { MediasModel } from './entities/medias.entity'; import { IBaseMediasAttr } from './interfaces/base.medias-attr.interface'; import { InternalMediaDto } from './dto/internal-medias.dto'; import { ExternalMediaDto } from './dto/external-media.dto'; import { LoginUser } from '@tomei/sso'; type MediaFile = { buffer: Buffer; iv?: Buffer; isEncrypted?: boolean; }; export declare class Medias extends BaseMedias { ObjectName: string; TableName: string; ObjectId: string; ObjectType: string; private _blobServiceClient; private get blobServiceClient(); container: string; algorithm: string; commonService: CommonService; entity: "string" | "number" | "bigint" | "boolean" | "symbol" | "undefined" | "object" | "function"; private static _Repo; constructor(commonService?: CommonService, media?: IBaseMediasAttr); createMedias(isExternalMedias: boolean, loginUser: LoginUser, stream?: Express.Multer.File, dbTransaction?: any): Promise; updateMedias(isExternalMedias: boolean, loginUser: LoginUser, stream?: Express.Multer.File, dbTransaction?: any): Promise; private IsStorageTypeAzure; private updateInternalMedia; private createInternalMedias; private getIvPath; private uploadFileToLocal; private deleteUploadedFileFromLocal; private uploadFileToAzure; private deleteUploadedFileFromAzure; private uploadFileToAzureStorage; private deleteUploadedFileToAzureStorage; private setKey; findFile(): Promise; private stream2buffer; private getFileFromAzure; private getFileFromLocal; encrypt(fileBuffer: Buffer): Promise; decrypt(file: MediaFile): Promise; delete(loginUser: LoginUser, dbTransaction?: any): Promise; postInternal(fileStream: Express.Multer.File, createMediaDto: InternalMediaDto, loginUser: LoginUser, dbTransaction?: any): Promise; postExternal(createMediaDto: ExternalMediaDto, loginUser: LoginUser): Promise; getAll(rows: number, page: number, search: string): Promise<{ count: number; rows: MediasModel[]; }>; getOne(id: string, dbTransaction?: any): Promise; getFile(id: string, dbTransaction?: any): Promise<{ fileBuffer: Buffer; resOption: { 'Content-Type': string; 'Content-Disposition': string; 'Content-Length': number; }; }>; remove(id: string, loginUser: LoginUser, dbTransaction?: any): Promise; putExternal(id: string, updatedMediaDto: ExternalMediaDto, userId: string, dbTransaction?: any): Promise; putInternal(fileStream: Express.Multer.File, id: string, updatedMediaDto: InternalMediaDto, loginUser: LoginUser, dbTransaction?: any): Promise; } export {};