import type { CatalogId } from "@x12i/catalox-contracts/ids.js"; import { CatalogStore } from "../firebase/catalog-store.js"; import { BindingStore } from "../firebase/binding-store.js"; import { DefinitionStore } from "../firebase/definition-store.js"; import { FirestoreStore } from "../firebase/firestore-store.js"; import { NativeItemStore } from "../firebase/native-item-store.js"; import { CatalogDataIndexStore } from "../firebase/catalog-data-index-store.js"; export type MigrateNativeCatalogLayoutInput = { dryRun?: boolean; verifyOnly?: boolean; overwrite?: boolean; deleteLegacy?: boolean; iHaveBackups?: boolean; continueOnError?: boolean; catalogIds?: CatalogId[]; appId?: string; /** Write local NDJSON lines under this directory (created if missing). */ exportFilesDir?: string; }; export type MigrateNativeCatalogLayoutIssue = { catalogId: string; code: string; message: string; }; export type MigrateNativeCatalogLayoutResult = { ok: boolean; migratedCatalogs: string[]; docsCopied: number; legacyDeleted: number; issues: MigrateNativeCatalogLayoutIssue[]; }; /** * After native item rows **already** live under flat `catalogData-{catalogId}-items`, align * `catalogDefinitions` storage hints and seed `catalogData/{catalogId}` index metadata. * Does **not** copy legacy `catalogData/{catalogId}/items` → flat; that is `migrateNativeCatalogLayout`. * Used by the tail of native layout migration and by Firebase restore (which writes items to flat first). */ export declare function fixNativeCatalogDataMetadata(deps: { definitions: DefinitionStore; catalogDataIndex: CatalogDataIndexStore; nativeItems: NativeItemStore; }, catalogIds: CatalogId[], nowIso: string): Promise; export declare function migrateNativeCatalogLayout(deps: { firestoreStore: FirestoreStore; catalogs: CatalogStore; bindings: BindingStore; nativeItems: NativeItemStore; catalogDataIndex: CatalogDataIndexStore; definitions: DefinitionStore; }, input: MigrateNativeCatalogLayoutInput): Promise; //# sourceMappingURL=migrate-native-catalog-layout.d.ts.map