import type { ConfigType } from '@nestjs/config';
import uploadConfig from '../config/upload.config';
import { IncomingFile, UploadImageOptions, UploadPdfOptions, UploadResponse } from '../interfaces/file-upload.interface';
export declare class UploadHelperService {
    private readonly config;
    private readonly logger;
    constructor(config: ConfigType<typeof uploadConfig>);
    toPublicUrl(relativePath: string | null | undefined): string | null;
    uploadImage(file: IncomingFile, options: UploadImageOptions): Promise<UploadResponse>;
    uploadPdf(file: IncomingFile, options: UploadPdfOptions): Promise<UploadResponse>;
    replaceStoredFile(previousPath: string | null | undefined, upload: () => Promise<UploadResponse>, persist: (relativePath: string) => Promise<void>): Promise<UploadResponse>;
    deleteFile(relativePath: string | null | undefined): Promise<boolean>;
    private validateFileExists;
    private assertCategory;
    private assertImageBuffer;
    private assertPdfBuffer;
    private generateSafeFileName;
    private saveFileToDisk;
    private resolveInsideRoot;
    private pathExists;
    private toPosixPath;
}
