/** * @copyright * Copyright 2026 Steven Roussey * All Rights Reserved */ import type { ImageValue } from "./imageValue"; export type PreviewResizeFn = (image: ImageValue, width: number, height: number) => Promise; export declare function registerPreviewResizeFn(fn: PreviewResizeFn | undefined): void; export declare function getPreviewBudget(): number; export declare function setPreviewBudget(px: number): void; /** * Engine-applied chain-head downscale for `runPreview`. Idempotent: when * the input is already within budget, returns the input unchanged * (referential equality is the no-op signal). When over budget, calls the * registered resize fn (typically routed through Sharp on node and an * OffscreenCanvas/WebGPU resize on browser) and composes `previewScale`: * `out.previewScale = in.previewScale × downscaleRatio`. */ export declare function previewSource(image: ImageValue): Promise; //# sourceMappingURL=previewBudget.d.ts.map