import type { AnyDrizzleDb } from "@voyant-travel/db"; import type { SourceAdapterRegistry, SyncProgressEvent } from "./booking-engine/index.js"; import type { CatalogRuntimeServices } from "./runtime-contracts.js"; /** * Host-supplied pieces the discovery sync needs but cannot resolve itself: * the deployment env (indexer + embedding + Connect wiring), a database * handle, and the composed catalog runtime services. Deployments never build * `services` by hand — the catalog runtime contributor provides this port. */ export interface CatalogSourcesSyncJobRuntime { withDb(operation: (db: AnyDrizzleDb) => Promise): Promise; resolveServices(): CatalogRuntimeServices | Promise; resolveEnv(): Readonly>; /** * Re-enumerate upstream connections and return the current registry. The * request-path warm is memoized for the life of the isolate, so a resident * deployment would otherwise keep syncing the connection set it saw first — * the discovery sync exists precisely to pick up connections added since. */ refreshSourceRegistry(): Promise; reportProgress?(event: SyncProgressEvent): void; } export declare const catalogSourcesSyncJobRuntimePort: import("@voyant-travel/core/project").VoyantPort;