import type { WorkDocumentNode } from './work-types'; export interface DocumentLazyPreviewLease { nodes: readonly HTMLElement[]; shape: string; spacer: HTMLElement; } export interface DocumentLazyPreviewPool { available: Map; size: number; } export declare function createDocumentLazyPreviewPool(): DocumentLazyPreviewPool; /** * Mounts a compact preview while recycling its element tree across chunks with * the same schema shape. Text and logical positions are rebound in place, so a * long scroll does not leave tens of thousands of detached nodes for V8 to * reclaim. */ export declare function mountDocumentLazyPreview(pool: DocumentLazyPreviewPool, dom: HTMLElement, content: readonly WorkDocumentNode[], firstPosition: number, paginationExtraHeight: number): DocumentLazyPreviewLease; export declare function releaseDocumentLazyPreview(pool: DocumentLazyPreviewPool, dom: HTMLElement, lease: DocumentLazyPreviewLease | null): void; export declare function updateDocumentLazyPreviewSpacer(lease: DocumentLazyPreviewLease | null, height: number): void; export declare function documentLazyPreviewPointerPosition(event: Event, fallback: number): number | null;