import type { CatalogId, ItemId } from "@x12i/catalox-contracts/ids.js"; import type { NativeCatalogItemRecord } from "@x12i/catalox-contracts/items.js"; import { storageDocIdForNativeRecord } from "../catalox/item-scope.js"; import { MongoStore } from "./mongo-store.js"; export type NativeCatalogStoredRecord = NativeCatalogItemRecord; export { storageDocIdForNativeRecord }; export declare class NativeItemStore { private readonly store; constructor(store: MongoStore); private colName; private itemsCol; invalidateLayoutCache(_catalogId?: CatalogId): void; get(catalogId: CatalogId, storageDocId: ItemId): Promise; findByLogicalItemId(catalogId: CatalogId, logicalItemId: ItemId): Promise; upsert(catalogId: CatalogId, record: NativeCatalogStoredRecord): Promise; /** Full document replace (no merge — drops keys omitted from the record). */ replace(catalogId: CatalogId, record: NativeCatalogStoredRecord): Promise; delete(catalogId: CatalogId, storageDocId: ItemId): Promise; batchUpsert(catalogId: CatalogId, records: NativeCatalogStoredRecord[]): Promise; batchReplace(catalogId: CatalogId, records: NativeCatalogStoredRecord[]): Promise; list(catalogId: CatalogId, options?: { limit?: number; offset?: number; filterEq?: Record; filterArrayContains?: Record; sort?: Record; }): Promise; } //# sourceMappingURL=native-item-store.d.ts.map