export interface Note {
  id: number | string; // number for API, string (filename) for WebDAV
  etag: string;
  readonly: boolean;
  content: string;
  title: string;
  category: string;
  favorite: boolean;
  modified: number;
  filename?: string; // WebDAV: actual filename on server
  path?: string; // WebDAV: full path including category
  draftId?: string; // stable client-side identity across renames/moves
  localOnly?: boolean; // exists only in local cache until first successful server create
  pendingSave?: boolean; // local-first dirty flag
  isSaving?: boolean; // local transient UI state
  saveError?: string | null; // last save error, if any
  lastSavedAt?: number; // local timestamp for "Saved" feedback
}

export interface APIConfig {
  serverURL: string;
  username: string;
  password: string;
}

export interface AppSettings {
  serverURL: string;
  username: string;
  syncInterval: number;
  fontSize: number;
}
