/** * The overview's data section: wiki backup and migration. The header line * reports the host's scheduled-backup knobs and on-disk count (hidden until * `listBackups` settles). Export downloads * the whole wiki as one dated JSON snapshot; import walks a three-step flow * — pick a file, review its summary (per-table row counts and the export * timestamp), then choose merge (existing keys are skipped, never * overwritten) or replace (a red-armed second confirm, since it wipes all * six tables first) — and ends with the per-table imported/skipped counts. * A successful import re-fetches every loaded slice host-side. * @module dsh-client-ui-mimir/client/DataSection */ import type { ResearchBackupStatusView, ResearchImportWikiMode, ResearchScheduledTaskView, ResearchWikiSnapshot } from 'dsh-mimir/types'; import type { ResearchFailureView } from './controller.ts'; import { type ResearchT } from './view-common.ts'; /** Per-table imported/skipped counts returned by a settled import. */ interface ImportCounts { readonly imported: Record; readonly skipped: Record; } /** * @param props - the export/import inject verbs and copy. * @returns the data card: two actions, then the pending-import summary or * the settled result. */ export declare function DataSection({ backup, taskHealth, exportWiki, importWiki, t }: { /** Scheduled-backup status; null hides the line (not loaded yet). */ readonly backup: ResearchBackupStatusView | null; /** Scheduled-task health snapshot (#223); null hides the block. */ readonly taskHealth: readonly ResearchScheduledTaskView[] | null; readonly exportWiki: () => Promise; readonly importWiki: (snapshot: unknown, mode: ResearchImportWikiMode, confirmReplace: boolean) => Promise; readonly t: ResearchT; }): import("react").JSX.Element; export {}; //# sourceMappingURL=DataSection.d.ts.map