import type { Editor } from "../../types.js"; interface CitationMatch { id: number; entry_key: string; author?: string; title?: string; year?: string; } interface CrossRefTarget { id: string; text: string; } interface BibliographyEntry { id: number; entry_key: string; author: string; title: string; year: string; source: string; entry: any; } /** * Create a drop-up widget for the inline reference editor. * @param citationMatches - Array of {id, entry_key, author, title, year} objects * @param selectedIndex - Currently selected index * @param onSelect - Callback when an item is selected * @param crossRefMatches - Array of {id, text} cross-reference objects * @returns The drop-up DOM element */ export declare function createInlineReferenceDropUp(citationMatches: CitationMatch[], selectedIndex: number, onSelect: (index: number) => void, crossRefMatches?: CrossRefTarget[]): HTMLElement; /** * Build a flat list of bibliography entries for matching. * Searches both document bibDB and user bibDB. * @param editor - The Editor instance * @returns Array of {id, entry_key, author, title, year, source, entry} * where `entry` is the raw DB object (needed when importing a user entry * into the document bibDB via addReference). */ export declare function buildBibliographyList(editor: Editor): BibliographyEntry[]; /** * Filter bibliography entries by query string (prefix match on entry_key). * @param entries - Full bibliography list * @param query - Search query * @returns Filtered entries */ export declare function filterBibliography(entries: BibliographyEntry[], query: string): BibliographyEntry[]; /** * Build a list of cross-reference targets (headings, figures, tables, * code blocks, anchors) from the main document and footnotes. * @param editor - The Editor instance * @returns Array of {id, text} objects */ export declare function buildCrossRefList(editor: Editor): CrossRefTarget[]; /** * Filter cross-reference targets by query string (substring match on text). * @param targets - Full cross-reference list * @param query - Search query (without leading @) * @returns Filtered targets (max 50) */ export declare function filterCrossRefs(targets: CrossRefTarget[], query: string): CrossRefTarget[]; export {}; //# sourceMappingURL=dropup.d.ts.map