/**
 * aiStyleTransfer — AI-based style transfer filters for PhotoEditor
 *
 * This module implements neural style transfer effects using pure canvas operations
 * for lightweight, dependency-free artistic filters. Also supports optional
 * TensorFlow.js integration for more advanced neural style transfer.
 *
 * Features:
 * - Pre-defined artistic styles (oil painting, watercolor, sketch, etc.)
 * - Real-time preview with downscaled processing
 * - Adjustable style intensity
 * - Optional TF.js for advanced neural transfer
 */
export type StylePreset = 'oil-painting' | 'watercolor' | 'pencil-sketch' | 'charcoal' | 'impressionist' | 'pop-art' | 'vintage' | 'noir' | 'cyberpunk' | 'anime' | 'pixel-art' | 'mosaic' | 'pointillism' | 'stained-glass' | 'custom';
export interface StyleTransferOptions {
    /** Style preset to apply */
    style: StylePreset;
    /** Intensity of the effect (0-1) */
    intensity: number;
    /** Detail preservation (0-1) */
    detailPreservation: number;
    /** Color saturation adjustment (-1 to 1) */
    saturation: number;
    /** Custom style image (for 'custom' preset) */
    customStyleImage?: ImageData;
    /** Processing quality (affects speed vs quality) */
    quality: 'fast' | 'balanced' | 'high';
}
export interface StyleTransferResult {
    imageData: ImageData;
    processingTimeMs: number;
    style: StylePreset;
}
export declare const DEFAULT_STYLE_OPTIONS: StyleTransferOptions;
export declare const STYLE_PRESETS: Record<StylePreset, {
    name: string;
    description: string;
}>;
/**
 * Downscale image for faster preview processing
 */
export declare function downscaleForPreview(imageData: ImageData, quality: 'fast' | 'balanced' | 'high'): {
    data: ImageData;
    scale: number;
};
/**
 * Upscale processed image back to original size
 */
export declare function upscaleFromPreview(imageData: ImageData, originalWidth: number, originalHeight: number): ImageData;
/**
 * Apply style transfer to an image
 */
export declare function applyStyleTransfer(imageData: ImageData, options?: Partial<StyleTransferOptions>): StyleTransferResult;
/**
 * Generate preview thumbnails for all styles
 */
export declare function generateStylePreviews(imageData: ImageData, size?: number): Promise<Map<StylePreset, ImageData>>;
export default applyStyleTransfer;
