import { BookmarkEnd, BookmarkStart, Paragraph, Table, type ParagraphChild } from "docx"; /** `w:bookmarkStart/@w:name` is ST_String with a schema MaxLength of 40. */ export declare const BOOKMARK_NAME_MAX_LENGTH = 40; /** * Normalize an HTML id / fragment for use as a Word bookmark name (`w:name`) * and internal hyperlink anchor (`w:anchor`). Returns `undefined` when empty. * Names longer than the schema limit are truncated (see * `truncateBookmarkName`). */ export declare function normalizeBookmarkId(raw: string | undefined | null): string | undefined; /** * If `href` is a same-document fragment (`#id`), return the bookmark id. * Bare `#`, empty string, and external/relative URLs return `undefined`. */ export declare function internalAnchorFromHref(href: string): string | undefined; /** Paragraph children that may include bookmark markers (not in `ParagraphChild`). */ type BookmarkChild = ParagraphChild | BookmarkStart | BookmarkEnd; /** Wrap runs in a `w:bookmarkStart`/`w:bookmarkEnd` pair (empty children allowed). */ export declare function wrapWithBookmark(id: string | undefined, children: readonly ParagraphChild[]): BookmarkChild[]; /** * Zero-height paragraph that only places a bookmark. Used when an element with * `id` produces blocks so the jump target sits at the start of that content. */ export declare function bookmarkMarkerParagraph(id: string): Paragraph; /** Prepend a bookmark marker when `idAttr` is a non-empty HTML id. */ export declare function prependElementBookmark(idAttr: string | undefined, blocks: Array): Array; export {}; //# sourceMappingURL=bookmarks.d.ts.map