/**
 * @author Jackiê Macklein
 * @company Onside tecnologia/Nettz
 * @copyright Todos direitos reservados.
 * @description Serviço para processamento de imagens
 */
declare class ImageService {
    /**
     * Redimensiona uma imagem mantendo a proporção
     * @param buffer Buffer da imagem
     * @param maxWidth Largura máxima
     * @param maxHeight Altura máxima
     */
    resize(buffer: Buffer, maxWidth: number, maxHeight: number): Promise<Buffer>;
    /**
     * Recorta uma imagem em um formato específico
     * @param buffer Buffer da imagem
     * @param width Largura desejada
     * @param height Altura desejada
     */
    crop(buffer: Buffer, width: number, height: number): Promise<Buffer>;
    /**
     * Comprime uma imagem para reduzir seu tamanho
     * @param buffer Buffer da imagem
     * @param quality Qualidade da compressão (1-100)
     */
    compress(buffer: Buffer, quality?: number): Promise<Buffer>;
    /**
     * Converte uma imagem para um formato específico
     * @param buffer Buffer da imagem
     * @param format Formato desejado ('jpeg', 'png', 'webp')
     */
    convert(buffer: Buffer, format: "jpeg" | "png" | "webp"): Promise<Buffer>;
    /**
     * Adiciona uma marca d'água a uma imagem
     * @param imageBuffer Buffer da imagem principal
     * @param watermarkBuffer Buffer da marca d'água
     */
    addWatermark(imageBuffer: Buffer, watermarkBuffer: Buffer): Promise<Buffer>;
    /**
     * Converte um buffer de imagem para base64
     * @param buffer Buffer da imagem
     * @param format Formato da imagem para o cabeçalho do base64
     */
    toBase64(buffer: Buffer, format?: "jpeg" | "png" | "webp"): Promise<string>;
    /**
     * Converte uma string base64 para buffer
     * @param base64 String base64 da imagem
     */
    fromBase64(base64: string): Promise<Buffer>;
    /**
     * Processa uma imagem e retorna em base64
     * @param buffer Buffer da imagem
     * @param options Opções de processamento
     */
    processAndReturnBase64(buffer: Buffer, options?: {
        maxWidth?: number;
        maxHeight?: number;
        quality?: number;
        format?: "jpeg" | "png" | "webp";
    }): Promise<string>;
}
export default ImageService;
