import { Readable } from 'stream';
export declare class NcFileStorageService {
    private readonly logger;
    isNewPath(dbPath: string | null | undefined): boolean;
    resolveAbsolutePath(dbPath: string, source: 'QRS' | 'TQS' | 'NEW'): string;
    saveEntryEvidence(source: 'QRS' | 'TQS' | 'NEW', ncId: number, entryId: number, file: {
        originalname: string;
        mimetype: string;
        buffer: Buffer;
        size: number;
    }): Promise<{
        dbPath: string;
        absolutePath: string;
        size: number;
    }>;
    saveClosureSignedCopy(source: 'QRS' | 'TQS' | 'NEW', ncId: number, file: {
        originalname: string;
        mimetype: string;
        buffer: Buffer;
        size: number;
    }): Promise<{
        dbPath: string;
        absolutePath: string;
        size: number;
    }>;
    saveAuditorSignature(source: 'QRS' | 'TQS' | 'NEW', file: {
        originalname: string;
        mimetype: string;
        buffer: Buffer;
        size: number;
    }): Promise<{
        dbPath: string;
        absolutePath: string;
        size: number;
    }>;
    saveMergedClosurePdf(source: 'QRS' | 'TQS' | 'NEW', ncId: number, buffer: Buffer, ncCode: string): Promise<{
        dbPath: string;
        absolutePath: string;
        size: number;
    }>;
    openFile(dbPath: string, source: 'QRS' | 'TQS' | 'NEW'): Promise<{
        stream: Readable;
        size: number;
        mimeType: string;
        filename: string;
    }>;
    deleteNewFile(dbPath: string, source: 'QRS' | 'TQS' | 'NEW'): Promise<boolean>;
    private validateEvidenceFile;
    private validateClosureSignedCopy;
    private validateSignature;
    private sanitizeFilename;
    private guessMimeType;
}
