import type { AppClassProperties, DataURL, BinaryFiles } from "@excalidraw/excalidraw/types"; import type { ExcalidrawElement, FileId, InitializedExcalidrawImageElement } from "./types"; export declare const generateThumbHash: (image: HTMLImageElement) => string | null; export declare const getThumbHashPlaceholder: (thumbHash: string) => HTMLCanvasElement | null; export declare const loadHTMLImageElement: (dataURL: DataURL) => Promise; /** NOTE: updates cache even if already populated with given image. Thus, * you should filter out the images upstream if you want to optimize this. */ export declare const updateImageCache: ({ fileIds, files, imageCache, onImageCacheUpdate, gifAutoDecodeMaxFileSizeBytes, forceGifDecode, }: { fileIds: FileId[]; files: BinaryFiles; imageCache: AppClassProperties["imageCache"]; onImageCacheUpdate?: (fileId: FileId) => void; gifAutoDecodeMaxFileSizeBytes?: number; forceGifDecode?: boolean; }) => Promise<{ imageCache: Map; mimeType: import("@excalidraw/common/utility-types").ValueOf; isPlaceholder?: boolean; placeholderImage?: HTMLImageElement; transitionStart?: number; gifDecodeStatus?: "pending" | "success" | "error" | "deferred"; gif?: import("./types").ExcalidrawGifCache; }>; /** includes errored files because they cache was updated nonetheless */ updatedFiles: Map; /** files that failed when creating HTMLImageElement */ erroredFiles: Map; }>; export declare const getInitializedImageElements: (elements: readonly ExcalidrawElement[]) => InitializedExcalidrawImageElement[]; export declare const isHTMLSVGElement: (node: Node | null) => node is SVGElement; export declare const normalizeSVG: (SVGString: string) => string;