import { z } from "zod"; import type { EntityOverlayChangedPayload } from "./events/taxonomy.js"; export { type CatalogProjectionRuntimeProvider, catalogProjectionRuntimePort, } from "./subscriber-runtime-ports.js"; /** Service-container key used by package-owned Catalog projection subscribers. */ export declare const CATALOG_PROJECTION_RUNTIME_CONTAINER_KEY = "runtime.catalog.projection"; /** Identifies one Catalog entity whose search projection must be refreshed or removed. */ export declare const catalogProjectionTargetSchema: z.ZodObject<{ entityModule: z.ZodString; entityId: z.ZodString; locale: z.ZodOptional; audience: z.ZodOptional; market: z.ZodOptional; }, z.core.$strict>; export type CatalogProjectionTarget = z.infer; /** Parse an event-derived projection target before invoking deployment runtime code. */ export declare function parseCatalogProjectionTarget(input: unknown): CatalogProjectionTarget; /** * Deployment-owned indexing boundary consumed by Catalog's projection subscribers. * * The deployment supplies database lifetime, configured slices, field-policy * registries, document builders, embedding providers, and the index adapter. */ export interface CatalogProjectionRuntime { reindexEntity(target: CatalogProjectionTarget): Promise; reindexReferencedSubject?(event: EntityOverlayChangedPayload): Promise; deleteEntity(target: CatalogProjectionTarget): Promise; } export type EnsureCatalogCollections = (ensureCollections: () => Promise) => Promise; /** * Serialize engine schema setup across event bursts without poisoning later * attempts when one setup call fails. */ export declare function createEnsureCatalogCollectionsSerializer(): EnsureCatalogCollections;