import type { CanvasLike, DitherImageOptions, ImageDataLike } from "./dither/dither"; import type { ProcessingPresetName } from "./dither/processing"; import type { PaletteColorEntry } from "./dither/functions/palette-order"; import { type ClassifyImageStyleOptions, type ImageKind, type ImageStyleClassification } from "./image-style"; export type AutoProcessingIntent = "natural" | "vivid" | "readable" | "faithful" | "lowNoise"; export interface SuggestProcessingOptionsInput extends ClassifyImageStyleOptions { intent?: AutoProcessingIntent; } export interface ProcessingSuggestion { classification: ImageStyleClassification; imageKind: ImageKind; intent: AutoProcessingIntent; strategy?: "legacy" | "layered"; ditherOptions: Partial; reasons: string[]; scores: Record; pipelineSteps?: ProcessingPipelineStep[]; } export type AutoImageAdjustmentOptions = Pick, "toneMapping" | "clarity" | "dynamicRangeCompression" | "levelCompression" | "paperNormalization">; export type AutoCanvasDitherOptions = Pick, "colorMatching" | "ditheringType" | "errorDiffusionMatrix" | "serpentine">; export interface AutoImageAdjustmentSuggestion { classification: ImageStyleClassification; imageKind: ImageKind; intent: AutoProcessingIntent; strategy?: ProcessingSuggestion["strategy"]; adjustmentOptions: AutoImageAdjustmentOptions; reasons: string[]; scores: Record; } export interface AutoCanvasDitherSuggestion { classification: ImageStyleClassification; imageKind: ImageKind; intent: AutoProcessingIntent; strategy?: ProcessingSuggestion["strategy"]; presetName?: ProcessingPresetName; ditherOptions: AutoCanvasDitherOptions; reasons: string[]; scores: Record; } export interface ProcessingPipelineStep { id: string; title: string; summary: string; ditherOptions?: Partial; } export declare function suggestProcessingOptions(image: ImageDataLike, palette?: PaletteColorEntry[] | string[], options?: SuggestProcessingOptionsInput): ProcessingSuggestion; export declare function suggestCanvasProcessingOptions(canvas: CanvasLike, palette?: PaletteColorEntry[] | string[], options?: SuggestProcessingOptionsInput): ProcessingSuggestion; export declare function suggestLayeredProcessingOptions(image: ImageDataLike, palette?: PaletteColorEntry[] | string[], options?: SuggestProcessingOptionsInput): ProcessingSuggestion; export declare function suggestLayeredCanvasProcessingOptions(canvas: CanvasLike, palette?: PaletteColorEntry[] | string[], options?: SuggestProcessingOptionsInput): ProcessingSuggestion; export declare function suggestImageAdjustmentOptions(image: ImageDataLike, palette?: PaletteColorEntry[] | string[], options?: SuggestProcessingOptionsInput): AutoImageAdjustmentSuggestion; export declare function suggestCanvasImageAdjustmentOptions(canvas: CanvasLike, palette?: PaletteColorEntry[] | string[], options?: SuggestProcessingOptionsInput): AutoImageAdjustmentSuggestion; export declare function suggestDitherOptions(image: ImageDataLike, palette?: PaletteColorEntry[] | string[], options?: SuggestProcessingOptionsInput): AutoCanvasDitherSuggestion; export declare function suggestCanvasDitherOptions(canvas: CanvasLike, palette?: PaletteColorEntry[] | string[], options?: SuggestProcessingOptionsInput): AutoCanvasDitherSuggestion;