import { ModelId } from '../core/types'; import { FieldAuditRecord } from '../core/projectFieldAudit'; /** 발췌 상한 — 한 줄 라벨이 목적이라 짧게 자른다(뷰가 ellipsis 로 한 번 더 방어). */ export declare const NOTE_EXCERPT_MAX = 20; /** * 메모 → 한 줄 발췌. 첫 줄만 쓰고 상한을 넘으면 말줄임을 붙인다. * * @returns 발췌 문자열, 또는 라벨로 쓸 수 없으면(부재·공백만) `null` — 호출자가 ref 로 폴백한다. */ export declare function noteExcerpt(memo: unknown, max?: number): string | null; /** * 이력 스트림에서 노트별 **마지막으로 관측된 memo**를 색인한다(seq 오름차순 fold). * * 관측 원천은 둘 — `note.add`의 `value.memo`(복원 유래 remove+add 포함)와 `note.setMemo`의 * `value.memo`. 삭제(`note.remove`)는 색인을 지우지 않는다: 지우면 정확히 필요한 순간에 라벨이 * 사라진다. */ export declare function buildNoteMemoIndex(records: readonly FieldAuditRecord[]): Map;