import type { Slide } from '../types/slides'; export declare const isDataUrl: (src: string) => boolean; export declare const isBlobUrl: (src: string) => boolean; export declare const onMediaInterned: (fn: (from: string, to: string) => void) => () => void; /** Data URL and its blob: alias are the same bytes. */ export declare const bitmapSrcKeys: (src: string) => string[]; export declare const getInternedBlob: (src: string) => Blob | undefined; /** Live interned data URL for a blob: src, or the original if it is already persistable. */ export declare const persistableMediaSrc: (src: string) => string; /** * Record an object URL created outside the intern layer (e.g. pasted video) * so `getInternedBlob` can still inline its bytes during export. */ export declare const registerMediaBlob: (url: string, blob: Blob) => void; export declare const rewritePersistableMediaSrcs: (slides: T[]) => T[]; export declare const startInternSlideMedia: (slide: Slide) => void; export declare const internMediaSrc: (src: string) => Promise; export declare const visitSlideMediaSrcs: (slide: Slide, visit: (src: string) => void) => void; export declare const collectSlideMediaSrcs: (slides: readonly Slide[]) => string[]; export declare const internSlidesMedia: (slides: Slide[]) => Promise; export declare const resetMediaInternForTests: () => void;