/**
 * Shared lookup for note entries by ID.
 *
 * When a notes part contains both a special entry (separator /
 * continuationSeparator) and a regular note with the same numeric ID,
 * the regular note takes precedence. This prevents special boilerplate
 * entries from masking real user-created content in rendering and in the
 * document API (get_footnote).
 *
 * Used by:
 *   - `footnote-resolver.ts` (document API reads)
 *   - `FootnotesBuilder.ts`  (layout rendering)
 */
/** Minimal note-entry shape shared across resolver, builder, and exporter. */
export interface NoteEntryLike {
    id?: unknown;
    type?: string | null;
    content?: unknown;
}
/**
 * Find a note entry by ID with regular-note priority.
 *
 * Precedence:
 *   1. Exact-id regular note (type is null / undefined / any non-special string)
 *   2. Exact-id special note (only if no regular note matched)
 *
 * Returns `undefined` when no entry matches.
 */
export declare function findNoteEntryById<T extends NoteEntryLike>(entries: T[] | undefined | null, noteId: string): T | undefined;
/**
 * Enumerate one effective note entry per note ID with regular-note priority.
 *
 * Preserves first-seen order by note ID while ensuring that when both a
 * special entry and a regular note share the same numeric ID, the regular note
 * is the effective entry for that ID.
 */
export declare function enumerateEffectiveNoteEntries<T extends NoteEntryLike>(entries: T[] | undefined | null): T[];
//# sourceMappingURL=note-entry-lookup.d.ts.map