export type ImageOp = 'upscale'; export declare const IMAGE_OP_IDS: ImageOp[]; export declare const IMAGE_OPS_BACKENDS: readonly ["magnific"]; export type ImageOpsBackend = (typeof IMAGE_OPS_BACKENDS)[number]; export type MagnificImageFlavor = 'sublime' | 'photo' | 'photo_denoiser'; export declare const MAGNIFIC_IMAGE_FLAVORS: MagnificImageFlavor[]; /** Magnific image-upscaler request params (verified live). */ export interface MagnificImageUpscaleParams { scale_factor: number; sharpen: number; smart_grain: number; ultra_detail: number; flavor: MagnificImageFlavor; } export interface ImageUpscaleOptions { scaleFactor?: number; flavor?: MagnificImageFlavor; sharpen?: number; smartGrain?: number; ultraDetail?: number; /** Logo/graphics-safe preset: no hallucinated detail/grain — for flat art & text. */ logoSafe?: boolean; } /** * Map options to Magnific image-upscaler params. PURE. `--logo-safe` is the * verified preset for flat graphics/text (sharpen 10, smart_grain 0, ultra_detail 0) * so logos don't get hallucinated texture; otherwise photo defaults (Magnific's own). */ export declare function magnificImageParamsFor(opts: ImageUpscaleOptions): MagnificImageUpscaleParams; /** True for an http(s) URL (passed through as-is); otherwise the input is a local file → base64. */ export declare function isRemoteImage(input: string): boolean; export interface RunImageOpsOptions extends ImageUpscaleOptions { op: ImageOp; backend: ImageOpsBackend; input: string; output: string; dryRun?: boolean; env?: NodeJS.ProcessEnv; /** Injectable: read a local file → base64 (default fs). */ readImage?: (path: string) => Promise; /** Injectable transports (default native-magnific). */ submit?: (image: string, params: MagnificImageUpscaleParams) => Promise; awaitTask?: (taskId: string) => Promise; download?: (url: string, dest: string) => Promise; } export interface RunImageOpsResult { op: ImageOp; backend: ImageOpsBackend; output: string; dryRun: boolean; params?: MagnificImageUpscaleParams; taskId?: string; outputUrl?: string; } export declare function runImageOps(opts: RunImageOpsOptions): Promise; //# sourceMappingURL=image-ops.d.ts.map