import type { Node as ProseMirrorNode } from '@tiptap/pm/model'; import type { WorkDocumentFieldContextResolver } from './work-document-fields'; export type WorkDocumentIndexLeader = 'dot' | 'dash' | 'underline' | 'none'; export type WorkDocumentIndexFormat = 'indented' | 'run-in'; export interface WorkDocumentIndexEntryDraft { mainEntry: string; subEntry: string; crossReference: string; pageBold: boolean; pageItalic: boolean; } export interface WorkDocumentIndexEntry extends WorkDocumentIndexEntryDraft { id: string; } export interface WorkDocumentIndexPage { pageNumber: number; pageBold: boolean; pageItalic: boolean; targetIds: string[]; } export interface WorkDocumentIndexGeneratedEntry { mainEntry: string; subEntry: string; crossReference: string; pages: WorkDocumentIndexPage[]; } export interface WorkDocumentIndexOptions { columns: number; format: WorkDocumentIndexFormat; rightAlignPageNumbers: boolean; leader: WorkDocumentIndexLeader; } export interface WorkDocumentIndexValue { id: string; options: WorkDocumentIndexOptions; entries: WorkDocumentIndexGeneratedEntry[]; truncated: boolean; } export interface WorkDocumentIndexBuildOptions { resolveContext?: WorkDocumentFieldContextResolver; } export declare const DEFAULT_DOCUMENT_INDEX_OPTIONS: WorkDocumentIndexOptions; export declare const MAX_DOCUMENT_INDEX_ENTRIES = 512; export declare const MAX_DOCUMENT_INDEX_MARKERS = 2048; export declare const MAX_DOCUMENT_INDEX_TERM_LENGTH = 240; export declare function normalizeDocumentIndexEntryDraft(source: Partial | null | undefined): WorkDocumentIndexEntryDraft | null; export declare function normalizeDocumentIndexEntry(source: Partial | null | undefined, fallbackId?: string): WorkDocumentIndexEntry | null; export declare function normalizeDocumentIndexOptions(source: Partial | null | undefined): WorkDocumentIndexOptions; export declare function normalizeDocumentIndexValue(source: Omit & { truncated?: boolean; }): WorkDocumentIndexValue; export declare function buildDocumentIndexEntries(document: ProseMirrorNode, options?: WorkDocumentIndexBuildOptions): { entries: WorkDocumentIndexGeneratedEntry[]; truncated: boolean; }; export declare function documentIndexEntryHtml(source: Partial): string; export declare function documentIndexHtml(source: Omit & { truncated?: boolean; }): string; export declare function documentIndexEntryFromElement(element: HTMLElement, index?: number): WorkDocumentIndexEntry | null; export declare function documentIndexValueFromElement(element: HTMLElement, index?: number): WorkDocumentIndexValue; export declare function normalizeDocumentIndexesHtml(source: string): string; export declare function indexLeader(value: unknown): WorkDocumentIndexLeader | null;