import type { BootstrapContext } from "@voyant-travel/core"; import type { AnyDrizzleDb } from "@voyant-travel/db"; import type { ApiModule } from "@voyant-travel/hono/module"; import { type NotificationsRoutesOptions } from "./routes.js"; export { type DurableNotificationProviderProbe, type DurableNotificationProviderRuntime, durableNotificationProviderPort, } from "./durable-provider-port.js"; export { type DeliverReminderJobInput, type DeliverReminderJobOutput, NOTIFICATION_REMINDER_JOB_RUNTIME_KEY, type NotificationReminderJobRuntime, type SendDueRemindersJobInput, } from "./job-runtime.js"; export { notificationLiquidEngine, renderLiquidTemplate, } from "./liquid.js"; export type { NotificationsRouteRuntime, NotificationsRoutesOptions } from "./routes.js"; export { buildNotificationsRouteRuntime, createNotificationsRoutes, NOTIFICATIONS_ROUTE_RUNTIME_CONTAINER_KEY, } from "./routes.js"; export type { NotificationsRuntimeProvider } from "./runtime-port.js"; export { notificationsRuntimePort } from "./runtime-port.js"; export type { NewNotificationDelivery, NewNotificationReminderRule, NewNotificationReminderRun, NewNotificationSendOperation, NewNotificationTemplate, NotificationDelivery, NotificationReminderRule, NotificationReminderRun, NotificationSendOperation, NotificationsApiModule, NotificationTemplate, } from "./schema.js"; export { notificationChannelEnum, notificationDeliveries, notificationDeliveryStatusEnum, notificationReminderRules, notificationReminderRunStatusEnum, notificationReminderRuns, notificationReminderStatusEnum, notificationReminderTargetTypeEnum, notificationSendOperationStatusEnum, notificationSendOperations, notificationsModule, notificationTargetTypeEnum, notificationTemplateStatusEnum, notificationTemplates, } from "./schema.js"; export { createDefaultBookingDocumentAttachment, NotificationError, NotificationIdempotencyConflictError, previewNotificationTemplate, renderNotificationTemplate, } from "./service.js"; export type { BookingDocumentAttachmentResolver, BookingDocumentsSentEvent, SendBookingDocumentsRuntimeOptions, } from "./service-booking-documents.js"; /** * Auto-dispatch policy for the `booking.confirmed` subscriber. Set `enabled: * false` (or leave the option off entirely) to opt out. */ export type { NotificationsSubscriberDependencies, NotificationsSubscriberRuntime, } from "./subscriber-runtime.js"; export { createBookingCancelledReminderSubscriberRuntime, createBookingConfirmedReminderSubscriberRuntime, createBookingExpiredReminderSubscriberRuntime, createPaymentCompletedReminderSubscriberRuntime, NOTIFICATIONS_BOOKING_CANCELLED_REMINDER_SUBSCRIBER_ID, NOTIFICATIONS_BOOKING_CONFIRMED_REMINDER_SUBSCRIBER_ID, NOTIFICATIONS_BOOKING_EXPIRED_REMINDER_SUBSCRIBER_ID, NOTIFICATIONS_PAYMENT_COMPLETED_REMINDER_SUBSCRIBER_ID, NOTIFICATIONS_SUBSCRIBER_RUNTIME_KEY, notificationsBookingCancelledReminderSubscriber, notificationsBookingConfirmedReminderSubscriber, notificationsBookingExpiredReminderSubscriber, notificationsPaymentCompletedReminderSubscriber, notificationsReminderSubscriberRuntimeDescriptors, } from "./subscriber-runtime.js"; export type { NotificationTaskEnv, NotificationTaskRuntime, NotificationTaskRuntimeOptions, ReminderDeliveryJob, } from "./task-runtime.js"; export { buildNotificationTaskRuntime } from "./task-runtime.js"; export { deliverQueuedNotificationReminder, sendDueNotificationReminders } from "./tasks/index.js"; export type { NotificationLiquidSnippet, NotificationTemplateVariableCategory, NotificationTemplateVariableDefinition, NotificationTemplateVariableType, } from "./template-authoring.js"; export { notificationLiquidSnippets, notificationTemplateVariableCatalog, } from "./template-authoring.js"; export type { DurableNotificationDeliveryCapability, DurableNotificationDeliveryContext, NotificationAttachment, NotificationChannel, NotificationPayload, NotificationProvider, NotificationResult, } from "./types.js"; export { bookingDocumentBundleItemSchema, bookingDocumentBundleSchema, insertNotificationReminderRuleSchema, insertNotificationReminderRuleStageSchema, insertNotificationReminderStageChannelSchema, insertNotificationTemplateSchema, notificationAttachmentSchema, notificationChannelSchema, notificationDeliveryListQuerySchema, notificationDeliveryStatusSchema, notificationDocumentSourceSchema, notificationDocumentTypeSchema, notificationReminderRuleListQuerySchema, notificationReminderRunDeliverySummarySchema, notificationReminderRunLinksSchema, notificationReminderRunListQuerySchema, notificationReminderRunListResponseSchema, notificationReminderRunRecordSchema, notificationReminderRunRuleSummarySchema, notificationReminderRunStatusSchema, notificationReminderStageAnchorSchema, notificationReminderStageCadenceIntervalSchema, notificationReminderStageCadenceKindSchema, notificationReminderStatusSchema, notificationReminderTargetTypeSchema, notificationStageRecipientKindSchema, notificationTargetTypeSchema, notificationTemplateListQuerySchema, notificationTemplateStatusSchema, previewNotificationTemplateResultSchema, previewNotificationTemplateSchema, previewRemindersQuerySchema, reorderReminderRuleStagesSchema, runDueRemindersSchema, updateNotificationReminderRuleSchema, updateNotificationReminderRuleStageSchema, updateNotificationReminderStageChannelSchema, updateNotificationSettingsSchema, updateNotificationTemplateSchema, } from "./validation.js"; export interface CreateNotificationsApiModuleOptions extends NotificationsRoutesOptions { /** Resolve the deployment database for package-owned subscriber and job runtimes. */ resolveDb?: (bindings: Record) => AnyDrizzleDb; } export declare function createNotificationsApiModule(options?: CreateNotificationsApiModuleOptions): ApiModule; /** Package-owned adapter from the selected graph's typed Node host port. */ export declare const createNotificationsVoyantRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ module: { bootstrap: (context: BootstrapContext) => Promise; name: string; hooks?: Record Promise | void>; service?: unknown; linkable?: Record; requiresTransactionalDb?: boolean; }; adminRoutes?: import("hono").Hono; publicRoutes?: import("hono").Hono; webhookRoutes?: import("hono").Hono; lazyAdminRoutes?: import("@voyant-travel/hono").LazyRoutesLoader; lazyPublicRoutes?: import("@voyant-travel/hono").LazyRoutesLoader; lazyRoutes?: import("@voyant-travel/hono").LazyApiRoutes; publicPath?: string; anonymous?: boolean | readonly string[]; optionalCustomerAuth?: boolean | readonly string[]; clientAuthenticated?: readonly import("@voyant-travel/hono/module").ClientAuthenticatedRoute[]; authAugmentation?: import("@voyant-travel/hono/module").ApiAuthAugmentation; transactionalPaths?: readonly string[]; }>; /** Selected-extension adapter that gates subscriber services with subscriber selection. */ export declare const createNotificationsSubscribersVoyantRuntime: import("@voyant-travel/core/project").VoyantGraphRuntimeFactory<{ extension: { name: string; module: string; bootstrap: ({ bindings, container }: BootstrapContext) => void; }; }>;