import type { DataURL } from "@excalidraw/excalidraw/types"; import type { ExcalidrawGifCache, ExcalidrawGifPlayback, ExcalidrawImageElement, FileId, NonDeletedExcalidrawElement } from "./types"; export type GifDecodeStatus = "pending" | "success" | "error" | "deferred"; export declare const configureGifWorkerUrl: (workerUrl: string | undefined) => void; type GifImageCache = Map; type ImageCacheEntry = NonNullable>; export declare const decodeGifFrames: (dataURL: DataURL) => Promise<{ frames: HTMLCanvasElement[]; delays: number[]; width: number; height: number; }>; export declare const getDataURLByteLength: (dataURL: DataURL) => number; export declare const decodeGifFramesQueued: (dataURL: DataURL) => Promise<{ frames: HTMLCanvasElement[]; delays: number[]; width: number; height: number; }>; export declare const createGifPlaybackMetadata: (opts?: { playing?: boolean; }) => ExcalidrawGifPlayback; export declare const getGifRenderFrame: (element: ExcalidrawImageElement, cacheEntry: ImageCacheEntry | null | undefined, runtimeFrameIndex?: number) => HTMLCanvasElement | undefined; export declare const hasActiveGifDecode: (visibleElements: readonly NonDeletedExcalidrawElement[], imageCache: GifImageCache) => boolean; export declare const hasPlayableGif: (visibleElements: readonly NonDeletedExcalidrawElement[], imageCache: GifImageCache) => boolean; export {};