export interface Note { id: string; public_key: string; encrypted_content: string; encrypted_title: string; iv: string; created_at: number; updated_at: number; } export interface CreateNoteRequest { id: string; encrypted_content: string; encrypted_title: string; iv: string; } export interface UpdateNoteRequest { encrypted_content: string; encrypted_title: string; iv: string; } export interface SSEClient { id: string; public_key: string; res: import('express').Response; } export interface SSEMessage { type: 'note_created' | 'note_updated' | 'note_deleted' | 'invitation_received'; data: Note | { id: string } | Invitation; } export interface Invitation { id: string; from_public_key: string; to_public_key: string; encrypted_group_key: string; iv: string; note_id?: string; note_title?: string; created_at: number; } export interface CreateInvitationRequest { toPublicKey: string; encryptedGroupKey?: string; iv?: string; noteId?: string; noteTitle?: string; }