import { Attachment } from 'src/schema/attachment.schema';
import { Model, Types } from 'mongoose';
export declare class StorageService {
    private readonly attachmentModel;
    constructor(attachmentModel: Model<Attachment>);
    saveFile(params: {
        userId: string;
        entityType: 'expense' | 'invoice' | 'estimate' | 'profile';
        entityId: string;
        file: Express.Multer.File;
    }): Promise<import("mongoose").Document<unknown, {}, Attachment, {}, {}> & Attachment & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
    deleteAttachmentByEntity({ userId, entityType, entityId, }: {
        userId: Types.ObjectId;
        entityType: 'expense';
        entityId: Types.ObjectId;
    }): Promise<void>;
    replaceSingleAttachment(params: {
        userId: string;
        entityType: 'expense';
        entityId: string;
        file: Express.Multer.File;
    }): Promise<import("mongoose").Document<unknown, {}, Attachment, {}, {}> & Attachment & {
        _id: Types.ObjectId;
    } & {
        __v: number;
    }>;
}
