export interface Preset { key: string; format?: string; quality?: number | string; width?: number | string; height?: number | string; fit?: string; withoutEnlargement?: boolean; focal_point_x?: number | string | null; focal_point_y?: number | string | null; transforms?: unknown[]; [key: string]: unknown; } export interface WarmResultItem { key: string; format: string | null; ok: boolean; ms: number; cached?: boolean; error?: string; } export interface WarmSummary { requested: number; ok: number; failed: number; results: WarmResultItem[]; } export interface CompletedRecord { file_id: string; preset_key: string; format: string | null; ts: number; } export interface RunState { running: boolean; startedAt: number | null; finishedAt: number | null; total: number; done: number; generated: number; hits: number; failed: number; rate: number; eta: number | null; cancelled: boolean; paused?: boolean; error?: string; }