/** Longest edge, in pixels, for a reference or gallery thumbnail. */ export declare const REFERENCE_THUMBNAIL_PX = 640; /** Panels sit in a table cell, so they need far less. */ export declare const PANEL_THUMBNAIL_PX = 384; /** Inline previews keyed by the source file's absolute path. */ export type Thumbnails = ReadonlyMap; export declare function encodeThumbnail(input: string | Buffer, edge: number): Promise; /** Grabs a frame half a second in, which skips fade-ups and black leaders. */ export declare function extractVideoPoster(path: string): Buffer | undefined; /** * Disk-backed thumbnail cache scoped to one project directory. * * Every lookup is best-effort: an unreadable file, an exotic codec, or a * missing ffmpeg yields `undefined` and the caller falls back to showing a * path. Nothing here should ever fail a production command. */ export declare class ThumbnailCache { private readonly cachePath?; private entries; private dirty; private constructor(); /** In-memory only. For callers with no project directory to persist into. */ static ephemeral(): ThumbnailCache; static open(projectDir: string): Promise; /** * Thumbnail for one file. Videos are posterized with ffmpeg first; anything * sharp can decode is resized directly. */ get(path: string, edge: number, kind?: 'image' | 'video'): Promise; /** Drops entries for files that no longer exist, then writes if anything changed. */ save(): Promise; } //# sourceMappingURL=thumbnails.d.ts.map