import { PdfImage } from '@elhalawany/models'; import { ImageDataConverter, ImageConversionTypes } from './types'; /** * Node.js implementation using Sharp * This requires the 'sharp' package to be installed * * @example * ```typescript * import sharp from 'sharp'; * import { createNodeImageDataToBufferConverter } from '@elhalawany/engines/pdfium/image-converters'; * * const imageDataConverter = createNodeImageDataToBufferConverter(sharp); * const engine = new PdfiumEngine(pdfiumModule, { logger, imageDataConverter }); * ``` */ export declare function createNodeImageDataToBufferConverter(sharp: any): ImageDataConverter; /** * Alternative Node.js implementation using canvas (node-canvas) * This requires the 'canvas' package to be installed * * @example * ```typescript * import { createCanvas } from 'canvas'; * import { createNodeCanvasImageDataToBlobConverter } from '@elhalawany/engines/pdfium/image-converters'; * * const imageDataConverter = createNodeCanvasImageDataToBlobConverter(createCanvas); * const engine = new PdfiumEngine(pdfiumModule, { logger, imageDataConverter }); * ``` */ export declare function createNodeCanvasImageDataToBlobConverter(createCanvas: any): ImageDataConverter; /** * Generic Node.js implementation that works with any image processing library * that can handle raw RGBA data * * @example * ```typescript * const converter = createCustomImageDataToBlobConverter(async (imageData) => { * // Your custom image processing logic here * // Return a Buffer that will be wrapped in a Blob * return processImageWithYourLibrary(imageData); * }); * ``` */ export declare function createCustomImageDataToBlobConverter(processor: (imageData: PdfImage, imageType?: ImageConversionTypes, imageQuality?: number) => Promise): ImageDataConverter; /** * Create a custom converter that returns a Buffer * @param processor - function to process the image data * @param imageType - image type * @returns ImageDataToBlobConverter */ export declare function createCustomImageDataToBufferConverter(processor: (imageData: PdfImage, imageType: ImageConversionTypes, imageQuality?: number) => Promise): ImageDataConverter;