/** * A single collection's replication status: * - `idle` -- configured but no cycle has run yet * - `syncing` -- a pull/push cycle is in flight * - `synced` -- last cycle completed without error * - `error` -- last cycle failed (RxDB is backing off / will retry) */ export type SyncStatus = 'idle' | 'syncing' | 'synced' | 'error'; export declare const useSyncStatusStore: import("zustand").UseBoundStore; setStatus: (collectionKey: string, status: SyncStatus) => void; reset: () => void; }>>; /** * The aggregate replication status derived from the per-collection statuses: * `offline` when no replication is running (local-only), otherwise rolled up as * error > syncing > synced. */ export type SyncRollup = 'offline' | 'error' | 'syncing' | 'synced'; /** * Rolls the per-collection replication statuses up to a single aggregate plus * its display copy. With no collections registered it reports `offline` * (local-only, no sync running); otherwise it applies the * error > syncing > synced precedence (`idle` counts as syncing -- a collection * configured but not yet cycled). Kept beside the status vocabulary so the * precedence lives with the store rather than the view; `useSyncStatus` is a * thin subscription over it. * * @param statuses {SyncStatus[]} the per-collection statuses (store values) * @returns {{ state: SyncRollup, label: string, title: string }} */ export declare function deriveSyncRollup(statuses: SyncStatus[]): { state: SyncRollup; label: string; title: string; }; //# sourceMappingURL=syncStatusStore.d.ts.map