import type { BootstrapContext } from "@voyant-travel/core"; import { type CatalogProjectionTarget } from "./projection-runtime.js"; export interface CatalogIndexSubscriberRuntimeDescriptor { readonly id: string; readonly eventType: string; readonly register: (context: BootstrapContext) => void | Promise; } export interface CatalogIndexSubscriberDescriptorOptions { id: string; eventType: string; selectTargets(payload: unknown): readonly CatalogProjectionTarget[]; } export declare function createCatalogReindexSubscriberDescriptor(options: CatalogIndexSubscriberDescriptorOptions): CatalogIndexSubscriberRuntimeDescriptor; export declare function createCatalogDeleteSubscriberDescriptor(options: CatalogIndexSubscriberDescriptorOptions): CatalogIndexSubscriberRuntimeDescriptor; export declare const catalogProductCreatedIndexSubscriber: CatalogIndexSubscriberRuntimeDescriptor; export declare const catalogProductUpdatedIndexSubscriber: CatalogIndexSubscriberRuntimeDescriptor; export declare const catalogProductDeletedIndexSubscriber: CatalogIndexSubscriberRuntimeDescriptor; export declare const catalogProductContentChangedIndexSubscriber: CatalogIndexSubscriberRuntimeDescriptor; export declare const catalogAvailabilityChangedIndexSubscriber: CatalogIndexSubscriberRuntimeDescriptor; export declare const catalogPricingChangedIndexSubscriber: CatalogIndexSubscriberRuntimeDescriptor; export declare const catalogPublicationChangedIndexSubscriber: CatalogIndexSubscriberRuntimeDescriptor; export declare const catalogPromotionChangedIndexSubscriber: CatalogIndexSubscriberRuntimeDescriptor; export declare const catalogEntityOverlayChangedIndexSubscriber: { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-created"; eventType: "product.created"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-updated"; eventType: "product.updated"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.delete-product"; eventType: "product.deleted"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-content-changed"; eventType: "product.content.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-availability-changed"; eventType: "availability.slot.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-pricing-changed"; eventType: "pricing.rule.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-publication-changed"; eventType: "product.publication.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-promotion-changed"; eventType: "promotion.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-entity-overlay-changed"; eventType: "catalog.entity.overlay.changed"; source: "@voyant-travel/catalog/index-subscribers"; }; export declare const catalogIndexSubscriberRuntimeDescriptors: readonly [CatalogIndexSubscriberRuntimeDescriptor, CatalogIndexSubscriberRuntimeDescriptor, CatalogIndexSubscriberRuntimeDescriptor, CatalogIndexSubscriberRuntimeDescriptor, CatalogIndexSubscriberRuntimeDescriptor, CatalogIndexSubscriberRuntimeDescriptor, CatalogIndexSubscriberRuntimeDescriptor, CatalogIndexSubscriberRuntimeDescriptor, { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-created"; eventType: "product.created"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-updated"; eventType: "product.updated"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.delete-product"; eventType: "product.deleted"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-content-changed"; eventType: "product.content.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-availability-changed"; eventType: "availability.slot.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-pricing-changed"; eventType: "pricing.rule.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-publication-changed"; eventType: "product.publication.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-product-promotion-changed"; eventType: "promotion.changed"; source: "@voyant-travel/catalog/index-subscribers"; } | { register(context: BootstrapContext): void; id: "@voyant-travel/catalog#subscriber.index-entity-overlay-changed"; eventType: "catalog.entity.overlay.changed"; source: "@voyant-travel/catalog/index-subscribers"; }]; export declare const createCatalogProductCreatedIndexSubscriberGraphRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ register: (context: BootstrapContext) => Promise; id: string; eventType: string; }>; export declare const createCatalogProductUpdatedIndexSubscriberGraphRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ register: (context: BootstrapContext) => Promise; id: string; eventType: string; }>; export declare const createCatalogProductDeletedIndexSubscriberGraphRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ register: (context: BootstrapContext) => Promise; id: string; eventType: string; }>; export declare const createCatalogProductContentChangedIndexSubscriberGraphRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ register: (context: BootstrapContext) => Promise; id: string; eventType: string; }>; export declare const createCatalogAvailabilityChangedIndexSubscriberGraphRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ register: (context: BootstrapContext) => Promise; id: string; eventType: string; }>; export declare const createCatalogPricingChangedIndexSubscriberGraphRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ register: (context: BootstrapContext) => Promise; id: string; eventType: string; }>; export declare const createCatalogPublicationChangedIndexSubscriberGraphRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ register: (context: BootstrapContext) => Promise; id: string; eventType: string; }>; export declare const createCatalogPromotionChangedIndexSubscriberGraphRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ register: (context: BootstrapContext) => Promise; id: string; eventType: string; }>; export declare const createCatalogEntityOverlayChangedIndexSubscriberGraphRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ register: (context: BootstrapContext) => Promise; id: string; eventType: string; }>;