/**
 * Options for image compression
 */
export interface ImageCompressOptions {
    /** Maximum width in pixels (default: 800) */
    maxWidth?: number;
    /** Maximum height in pixels (default: 800) */
    maxHeight?: number;
    /** Quality 0-1 (default: 0.8) */
    quality?: number;
    /** Output MIME type (default: 'image/jpeg') */
    mimeType?: 'image/jpeg' | 'image/png' | 'image/webp';
}
/**
 * Options for image validation
 */
export interface ImageValidateOptions {
    /** Maximum file size in bytes (default: 10MB) */
    maxSize?: number;
    /** Allowed MIME types (default: ['image/jpeg', 'image/png', 'image/webp', 'image/gif']) */
    allowedTypes?: string[];
    /** Minimum width in pixels */
    minWidth?: number;
    /** Minimum height in pixels */
    minHeight?: number;
}
/**
 * Result of image validation
 */
export interface ImageValidationResult {
    valid: boolean;
    error?: 'invalidType' | 'fileTooLarge' | 'imageTooSmall';
    message?: string;
}
/**
 * Processed image result
 */
export interface ProcessedImage {
    /** Processed image as Blob */
    blob: Blob;
    /** Data URL for preview */
    dataUrl: string;
    /** Final width in pixels */
    width: number;
    /** Final height in pixels */
    height: number;
    /** File size in bytes */
    size: number;
}
/**
 * Crop data for manual cropping
 */
export interface CropData {
    /** X position of crop area */
    x: number;
    /** Y position of crop area */
    y: number;
    /** Width of crop area */
    width: number;
    /** Height of crop area */
    height: number;
}
/**
 * Default values for image processing
 */
export declare const IMAGE_DEFAULTS: {
    maxWidth: number;
    maxHeight: number;
    quality: number;
    mimeType: "image/jpeg";
    maxSize: number;
    allowedTypes: string[];
    thumbnailSize: number;
};
