/**
 * Utilidades de crop usadas pelo modal de edição do ArchbaseImagePickerEditor.
 * Trabalham diretamente sobre data URIs, preservando o mime original (PNG/WebP
 * mantêm alpha; JPEG continua JPEG). Não há "fallback silencioso" para JPEG.
 *
 * Algoritmo de crop com rotação adaptado do exemplo oficial do react-easy-crop:
 * https://github.com/ValentinH/react-easy-crop/blob/master/example/utils.ts
 */
export interface PixelCrop {
    x: number;
    y: number;
    width: number;
    height: number;
}
/**
 * Aplica rotação (em graus) + crop sobre `imageSrc` e retorna o data URI
 * resultante.
 *
 * Estratégia:
 *   1. Desenha a imagem rotacionada centralizada num canvas auxiliar do
 *      tamanho do bounding box rotacionado.
 *   2. Faz drawImage do recorte (pixelCrop) desse canvas auxiliar para o
 *      canvas final do tamanho do recorte.
 *
 * Output mime respeita `preserveTransparency` e a origem (ver pickOutputMime).
 */
export declare function getCroppedImage(imageSrc: string, pixelCrop: PixelCrop, rotation?: number, preserveTransparency?: boolean, quality?: number): Promise<string>;
/**
 * Redimensiona um data URI para respeitar maxWidth/maxHeight, preservando
 * proporção e mime apropriado. Usado fora do fluxo de crop, ao subir um arquivo.
 */
export declare function resizeDataUri(dataUri: string, maxWidth?: number, maxHeight?: number, maxSizeKb?: number, quality?: number, preserveTransparency?: boolean): Promise<string>;
