import type { BlockSnapshot, ConvertOptions, DeltaInsert, DocSnapshotMeta, DocumentReference, JsonRecord, SnapshotInput } from './types.js'; export interface NormalizedSnapshot { kind: 'doc' | 'block' | 'slice'; blocks: BlockSnapshot[]; root?: BlockSnapshot; meta?: DocSnapshotMeta; documentLike: boolean; } export declare function isRecord(value: unknown): value is JsonRecord; export declare function toRecord(value: unknown): JsonRecord; export declare function toStringValue(value: unknown, fallback?: string): string; export declare function toFiniteNumber(value: unknown): number | undefined; export declare function blockChildren(block: BlockSnapshot): BlockSnapshot[]; export declare function isBlockSnapshot(value: unknown): value is BlockSnapshot; export declare function normalizeSnapshot(input: SnapshotInput): NormalizedSnapshot; /** * Validate limits iteratively before recursive rendering. Besides making error * messages deterministic, this prevents deeply nested untrusted JSON from * exhausting the JavaScript call stack. */ export declare function validateSnapshotTree(blocks: readonly BlockSnapshot[], options: ConvertOptions): void; export declare function deltaFrom(value: unknown): DeltaInsert[]; export declare function plainText(value: unknown): string; export declare function pageTitleDelta(normalized: NormalizedSnapshot): DeltaInsert[]; export declare function pageTitleText(normalized: NormalizedSnapshot): string; export declare function escapeHtml(value: unknown): string; export declare function escapeHtmlAttribute(value: unknown): string; export declare function sanitizeUrl(value: unknown, kind?: 'link' | 'image'): string; export declare function resolveAssetUrl(options: ConvertOptions, block: BlockSnapshot, kind: 'image' | 'attachment'): string; export declare function resolveZuiImageUrl(options: ConvertOptions, block: BlockSnapshot): string; export declare function resolveDocumentUrl(options: ConvertOptions, reference: DocumentReference, block?: BlockSnapshot): string; export declare function formatFileSize(value: unknown): string; export declare function isEdgelessOnly(block: BlockSnapshot): boolean; export declare function safeLanguage(value: unknown): string; export declare function escapeMarkdownMath(value: unknown): string; export declare function safeCssColor(value: unknown): string; export declare function safeFontSize(value: unknown): string;