SyncState
export interface SyncState {
status: SyncStatus;
phase: SyncStatePhase;
progress?: number; // 0..100
error?: Error; // If phase === "error"
license?: "ok" | "expired" | "deactivated";
}
export type SyncStatePhase =
| "initial"
| "not-in-sync"
| "pushing"
| "pulling"
| "in-sync"
| "error"
| "offline";
export type SyncStatus =
| "not-started"
| "connecting"
| "connected"
| "disconnected"
| "error"
| "offline";