import type { Config } from '../config/schema.js'; import { buildNoteAttachmentRef } from './attachment-ref.js'; import { NotesStore } from './store.js'; import type { CaptureSource, CreateNoteParams, Note, NoteAiPatch, NoteAttachment, NoteCatalysisReport, NoteIndexEntry, NoteSnapshot, NoteSnapshotEntry, NotesListQuery, SnapshotTrigger } from './types.js'; export declare class NotesService { private readonly store; private lastSnapshotAt; private quickCapturesInFlight; constructor(store?: NotesStore); initialize(): Promise; quickCapture(markdown: string, source: CaptureSource, idempotencyKey?: string): Promise; private createQuickCapture; createNote(params: CreateNoteParams): Promise; getNote(id: string): Promise; updateNote(id: string, patch: Partial, trigger?: SnapshotTrigger): Promise; private reconcileAttachments; syncNote(id: string, patch: Partial, baseRemoteVersion?: number): Promise<{ note: Note | null; conflict: boolean; }>; createAiEditPatch(id: string, instruction: string, markdownOverride?: string): Promise<{ message: string; patch: NoteAiPatch; } | null>; catalyzeNote(id: string, config?: Config): Promise<{ note: Note; report: NoteCatalysisReport; } | null>; recordCatalysisFeedback(id: string, feedback: 'helpful' | 'not_helpful' | 'neutral'): Promise; linkNoteThread(id: string, sessionKey: string): Promise; listNoteThreads(id: string): Promise; getAgentContextStatus(id: string, config?: Config, force?: boolean): Promise<{ noteUpdatedAt: number; artifact: import('./agent-context.js').NoteAgentContextArtifact | null; stale: boolean; } | null>; appendTextToNote(id: string, content: string, heading?: string): Promise; deleteNote(id: string): Promise; listNotes(query?: NotesListQuery): Promise<{ items: NoteIndexEntry[]; total: number; limit: number; offset: number; hasMore: boolean; }>; addAttachment(noteId: string, file: { name: string; buffer: Buffer; mimeType: string; duration?: number; }): Promise; removeAttachment(noteId: string, attachmentId: string): Promise; getAttachmentPath(noteId: string, attachmentId: string): Promise<{ filePath: string; mimeType: string; fileName: string; } | null>; listNoteHistory(noteId: string): Promise; getNoteSnapshot(noteId: string, timestamp: number): Promise; restoreNoteSnapshot(noteId: string, timestamp: number): Promise; flush(): Promise; moveToGroup(noteId: string, groupId: string | null): Promise; createTask(title: string, source: CaptureSource, opts?: { dueAt?: number; priority?: 'high' | 'medium' | 'low'; sourceSessionKey?: string; sourceNoteId?: string; groupId?: string; }): Promise; toggleTaskDone(noteId: string): Promise; updateTaskMeta(noteId: string, patch: Partial): Promise; recordOpen(noteId: string): Promise; private maybeSaveSnapshot; } export { buildNoteAttachmentRef };