@riverbankcms/sdk 0.60.11 → 0.60.14

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (96) hide show
  1. package/README.md +10 -7
  2. package/dist/_dts/api/src/accessAdmin.d.ts +102 -0
  3. package/dist/_dts/api/src/bookingConfig.d.ts +31 -1
  4. package/dist/_dts/api/src/bookingManagementEndpoints.d.ts +38 -1
  5. package/dist/_dts/api/src/bookingOperations.d.ts +3 -0
  6. package/dist/_dts/api/src/bookingRecords.d.ts +45 -0
  7. package/dist/_dts/api/src/bookingRefundOutcomes.d.ts +4 -4
  8. package/dist/_dts/api/src/commercePortalEndpoints.d.ts +1 -5
  9. package/dist/_dts/api/src/common/envelope.d.ts +1 -1
  10. package/dist/_dts/api/src/communications.d.ts +1 -1
  11. package/dist/_dts/api/src/contentRuntime.d.ts +1 -1
  12. package/dist/_dts/api/src/domains.d.ts +14 -13
  13. package/dist/_dts/api/src/endpoints.d.ts +121 -9
  14. package/dist/_dts/api/src/index.d.ts +3 -2
  15. package/dist/_dts/api/src/publicExperienceEndpoints.d.ts +1 -0
  16. package/dist/_dts/api/src/seoEndpoints.d.ts +2 -0
  17. package/dist/_dts/api/src/siteAssets.d.ts +0 -10
  18. package/dist/_dts/api/src/siteManagementEndpoints.d.ts +15 -1
  19. package/dist/_dts/api/src/types.d.ts +1 -1
  20. package/dist/_dts/blocks/src/PageRenderer.d.ts +1 -0
  21. package/dist/_dts/blocks/src/index.d.ts +1 -0
  22. package/dist/_dts/blocks/src/portal/types.d.ts +1 -1
  23. package/dist/_dts/blocks/src/server.d.ts +1 -0
  24. package/dist/_dts/blocks/src/subroutes/fold.d.ts +40 -0
  25. package/dist/_dts/blocks/src/subroutes/formatDate.d.ts +12 -0
  26. package/dist/_dts/blocks/src/subroutes/index.d.ts +3 -0
  27. package/dist/_dts/blocks/src/subroutes/kinds.d.ts +32 -0
  28. package/dist/_dts/blocks/src/system/fields/boxStyles.d.ts +3 -1
  29. package/dist/_dts/blocks/src/system/helpers/resolveBackground.d.ts +2 -0
  30. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration/types.d.ts +1 -0
  31. package/dist/_dts/blocks/src/system/runtime/nodes/course-registration.interactive.d.ts +1 -0
  32. package/dist/_dts/blocks/src/system/spacing.d.ts +2 -1
  33. package/dist/_dts/blocks/src/system/transforms/registry/layout.d.ts +5 -0
  34. package/dist/_dts/blocks/src/system/transforms/typed.d.ts +5 -1
  35. package/dist/_dts/core/src/booking-refunds.d.ts +8 -0
  36. package/dist/_dts/core/src/participant-identity.d.ts +1 -1
  37. package/dist/_dts/core/src/participants.d.ts +19 -7
  38. package/dist/_dts/db/src/generated/supabase/database.types.d.ts +284 -96
  39. package/dist/_dts/db/src/schemas/forms.d.ts +135 -24
  40. package/dist/_dts/preview-next/src/client/preview/EntryEditorPanel.d.ts +3 -3
  41. package/dist/_dts/preview-next/src/client/preview/PreviewEditorSidebar.d.ts +3 -3
  42. package/dist/_dts/preview-next/src/client/preview/PreviewShell.d.ts +3 -3
  43. package/dist/_dts/preview-next/src/client/preview/PreviewShellLayout.d.ts +3 -3
  44. package/dist/_dts/preview-next/src/client/preview/SubrouteNoticePanel.d.ts +13 -0
  45. package/dist/_dts/preview-next/src/client/preview/subrouteNotice.d.ts +26 -0
  46. package/dist/_dts/sdk/src/contracts/page.d.ts +1 -0
  47. package/dist/_dts/sdk/src/public-api/contracts.d.ts +2 -1
  48. package/dist/_dts/sdk/src/rendering/islands/types.d.ts +1 -0
  49. package/dist/_dts/sdk/src/routing/resolvePageContent.d.ts +4 -5
  50. package/dist/_dts/sdk/src/version.d.ts +1 -1
  51. package/dist/_dts/theme-core/src/buttons/personalities/index.d.ts +11 -0
  52. package/dist/_dts/theme-core/src/buttons/personalities/showtime-pill.d.ts +17 -0
  53. package/dist/_dts/theme-core/src/buttons/types.d.ts +1 -1
  54. package/dist/_dts/theme-core/src/generated/containerResponsiveThemeCss.d.ts +1 -1
  55. package/dist/_dts/theme-core/src/mock-themes/all.d.ts +66 -30
  56. package/dist/_dts/theme-core/src/palette/variants/brand-led.d.ts +16 -0
  57. package/dist/_dts/theme-core/src/palette/variants/index.d.ts +15 -0
  58. package/dist/_dts/theme-core/src/palette/variants/types.d.ts +3 -3
  59. package/dist/_dts/theme-core/src/schema.d.ts +174 -6
  60. package/dist/_dts/theme-core/src/site-styles/appearancePresets.d.ts +328 -15
  61. package/dist/_dts/theme-core/src/site-styles/curatedSiteStyles.d.ts +54 -2
  62. package/dist/_dts/theme-core/src/site-styles/designState.d.ts +124 -0
  63. package/dist/_dts/theme-core/src/site-styles/generatedSchemas.d.ts +4 -2
  64. package/dist/_dts/theme-core/src/site-styles/index.d.ts +1 -0
  65. package/dist/_dts/theme-core/src/site-styles/lookResolution.d.ts +21 -0
  66. package/dist/_dts/theme-core/src/site-styles/pageDesignEditorModel.d.ts +2 -1
  67. package/dist/_dts/theme-core/src/site-styles/previewCompiler.d.ts +1 -1
  68. package/dist/_dts/theme-core/src/site-styles/types.d.ts +135 -2
  69. package/dist/_dts/ui/src/badge.d.ts +1 -1
  70. package/dist/_dts/ui/src/button.d.ts +1 -1
  71. package/dist/cli/index.mjs +801 -115
  72. package/dist/client/bookings.mjs +115 -1
  73. package/dist/client/client.mjs +905 -166
  74. package/dist/client/hooks.mjs +794 -111
  75. package/dist/client/rendering/client.mjs +179 -39
  76. package/dist/client/rendering/islands.mjs +179 -38
  77. package/dist/client/rendering.mjs +904 -165
  78. package/dist/preview-next/before-render.mjs +160 -16
  79. package/dist/preview-next/client/runtime.mjs +1674 -260
  80. package/dist/preview-next/middleware.mjs +160 -16
  81. package/dist/server/components.mjs +895 -165
  82. package/dist/server/config-validation.mjs +794 -111
  83. package/dist/server/config.mjs +794 -111
  84. package/dist/server/data.mjs +794 -111
  85. package/dist/server/index.mjs +163 -17
  86. package/dist/server/next.mjs +898 -167
  87. package/dist/server/page-converter.mjs +589 -82
  88. package/dist/server/prebuild.mjs +1 -1
  89. package/dist/server/rendering/server.mjs +895 -165
  90. package/dist/server/rendering.mjs +895 -165
  91. package/dist/server/routing.mjs +828 -117
  92. package/dist/server/server.mjs +795 -112
  93. package/dist/server/theme-bridge.mjs +216 -39
  94. package/dist/server/theme.mjs +139 -37
  95. package/dist/styles/index.css +44 -2
  96. package/package.json +1 -1
package/README.md CHANGED
@@ -3235,7 +3235,7 @@ export { generateMetadata };
3235
3235
  This single call replaces ~160 lines of typical boilerplate that handles:
3236
3236
  - Path resolution from URL slugs
3237
3237
  - Content loading (pages and entries)
3238
- - Event occurrence routing (e.g., `/events/yoga-class/2025-01-15`)
3238
+ - Entry subroute routing (event occurrences at `/events/yoga-class/2025-01-15`, course runs at `/courses/yoga-101/spring-2026`, …)
3239
3239
  - Preview mode detection
3240
3240
  - Template rendering for entries
3241
3241
  - SEO metadata generation
@@ -3252,16 +3252,19 @@ RIVERBANK_PREVIEW_MODE=true
3252
3252
 
3253
3253
  When enabled, `loadContent()` fetches draft/unpublished content instead of published content.
3254
3254
 
3255
- ### Event Occurrence Routing
3255
+ ### Entry Subroute Routing
3256
3256
 
3257
- For event content types, `createCatchAllPage` automatically handles occurrence URLs. If you have an event entry at `/events/yoga-class`, the catch-all page also handles URLs like:
3257
+ For content types that declare `routing.subroutes` (events, courses, …), `createCatchAllPage` automatically handles "one-extra-segment" URLs under the parent entry. For example, with an event entry at `/events/yoga-class` and a course entry at `/courses/yoga-101`:
3258
3258
 
3259
- - `/events/yoga-class/2025-01-15` - Date-based occurrence (ISO date)
3260
- - `/events/yoga-class/abc123-def4-...` - UUID-based occurrence
3259
+ - `/events/yoga-class/2025-01-15` date-based event occurrence (ISO date)
3260
+ - `/events/yoga-class/abc123-def4-...` UUID-based event occurrence
3261
+ - `/courses/yoga-101/spring-2026` — slug-based course run
3261
3262
 
3262
- The page detects these patterns using local route matching (no extra API calls), fetches the parent event entry, and resolves the occurrence data. The occurrence context is automatically passed to blocks via `dataContext.occurrenceContext`, enabling event registration blocks to display the correct date/time.
3263
+ The page detects these patterns using local route matching (no extra API calls), fetches the parent entry, and calls the public resolve endpoint to fetch the subroute payload. The result is passed to blocks via `dataContext.entrySubrouteContext`, a discriminated union of `{ kind: 'event-occurrence'; occurrence } | { kind: 'course-run'; run }`. Blocks that need it (event registration, course registration) read the variant they care about.
3263
3264
 
3264
- Invalid occurrence segments (e.g., `/events/yoga-class/invalid-date`) return a 404.
3265
+ Invalid subroute segments (e.g., `/events/yoga-class/invalid-date`) return a 404.
3266
+
3267
+ See [`docs/guides/entry-subroutes.md`](../../docs/guides/entry-subroutes.md) for the full data flow and instructions for adding a new subroute kind.
3265
3268
 
3266
3269
  ### Escape Hatches
3267
3270
 
@@ -160,6 +160,9 @@ export type RegisterDomainRequestPayload = {
160
160
  siteId: string;
161
161
  domain: string;
162
162
  years?: number;
163
+ quotedPrice?: number;
164
+ quotedCurrency?: string;
165
+ quotedPremium?: boolean;
163
166
  useProfileContact?: boolean;
164
167
  contact?: RegisterDomainContactInput;
165
168
  saveContactToProfile?: boolean;
@@ -178,6 +181,105 @@ export type RegisterDomainResponse = {
178
181
  };
179
182
  configResult: DomainConfigResult;
180
183
  };
184
+ export type RegistrarLifecycleState = "registered" | "configuring" | "awaiting_registrant_verification" | "ready" | "renewal_at_risk" | "renewal_failed" | "transfer_out_requested" | "expired" | "redemption" | "suspended";
185
+ export type RegistrarLifecycleMutationOutcome = "succeeded" | "pending" | "repaired";
186
+ export type RegistrarLifecycleMutationOperation = "update_contact" | "enable_privacy" | "disable_privacy" | "enable_auto_renew" | "disable_auto_renew" | "unlock" | "retrieve_epp";
187
+ export type RegistrarLifecycleMutationBase<TOperation extends RegistrarLifecycleMutationOperation> = {
188
+ operation: TOperation;
189
+ outcome: RegistrarLifecycleMutationOutcome;
190
+ lifecycleState?: RegistrarLifecycleState;
191
+ responseCode?: number;
192
+ providerDetail?: string;
193
+ };
194
+ export type RegistrarLifecycleMutationResponse = RegistrarLifecycleMutationBase<"update_contact"> | (RegistrarLifecycleMutationBase<"enable_privacy" | "disable_privacy"> & {
195
+ privacyEnabled: boolean;
196
+ }) | (RegistrarLifecycleMutationBase<"enable_auto_renew" | "disable_auto_renew"> & {
197
+ autoRenew: boolean;
198
+ }) | (RegistrarLifecycleMutationBase<"unlock"> & {
199
+ lifecycleState: "transfer_out_requested";
200
+ }) | (RegistrarLifecycleMutationBase<"retrieve_epp"> & {
201
+ lifecycleState: "transfer_out_requested";
202
+ } & ({
203
+ eppCodeDelivery: "provider_delivered";
204
+ } | {
205
+ eppCodeDelivery: "returned";
206
+ eppCode: string;
207
+ }));
208
+ export type ExposedRegistrarLifecycleMutationResponse = Extract<RegistrarLifecycleMutationResponse, {
209
+ operation: "update_contact" | "enable_privacy" | "disable_privacy" | "enable_auto_renew" | "disable_auto_renew";
210
+ }>;
211
+ export type RegistrarLifecycleResponse = {
212
+ domain: SiteDomainRecord;
213
+ mutation: ExposedRegistrarLifecycleMutationResponse;
214
+ };
215
+ export type RegistrarBooleanMutationRequest = {
216
+ enabled: boolean;
217
+ };
218
+ export type RegistrarRenewalCostEstimate = {
219
+ amount: number;
220
+ currency?: string;
221
+ source: "provider_quote" | "manual" | "last_registration";
222
+ };
223
+ export type RegistrarProviderName = "namesilo";
224
+ export type RegistrarRenewalRiskReason = "auto_renew_disabled" | "insufficient_registrar_funds";
225
+ export type RegistrarRenewalManualReviewReason = "not_managed_by_registrar" | "registered_domain_missing_registrar" | "missing_expiry" | "invalid_expiry" | "invalid_registrar_balance" | "invalid_renewal_cost_estimate" | "missing_renewal_cost_estimate" | "registrar_balance_unavailable" | "registrar_balance_unsupported" | "currency_mismatch";
226
+ export type RegistrarRenewalManualReviewReasonWithoutExpiry = "not_managed_by_registrar" | "registered_domain_missing_registrar" | "missing_expiry" | "invalid_expiry";
227
+ export type RegistrarRenewalManualReviewReasonWithExpiry = Exclude<RegistrarRenewalManualReviewReason, RegistrarRenewalManualReviewReasonWithoutExpiry>;
228
+ export type RegistrarRenewalFailedReason = "past_expiry" | "renewal_failed_lifecycle" | "expired_lifecycle" | "redemption_lifecycle" | "suspended_lifecycle";
229
+ export type RegistrarRenewalPosture = {
230
+ kind: "funded";
231
+ domain: string;
232
+ provider: RegistrarProviderName;
233
+ expiresAt: string;
234
+ daysUntilExpiry: number;
235
+ availableBalance: number;
236
+ renewalCost: RegistrarRenewalCostEstimate;
237
+ } | {
238
+ kind: "at_risk";
239
+ domain: string;
240
+ provider: RegistrarProviderName;
241
+ expiresAt: string;
242
+ daysUntilExpiry: number;
243
+ reasons: readonly [RegistrarRenewalRiskReason, ...RegistrarRenewalRiskReason[]];
244
+ availableBalance?: number;
245
+ renewalCost?: RegistrarRenewalCostEstimate;
246
+ } | {
247
+ kind: "failed";
248
+ domain: string;
249
+ provider: RegistrarProviderName | null;
250
+ reason: RegistrarRenewalFailedReason;
251
+ expiresAt: string;
252
+ } | {
253
+ kind: "manual_review";
254
+ domain: string;
255
+ provider: RegistrarProviderName | null;
256
+ reason: RegistrarRenewalManualReviewReasonWithoutExpiry;
257
+ } | {
258
+ kind: "manual_review";
259
+ domain: string;
260
+ provider: RegistrarProviderName;
261
+ reason: RegistrarRenewalManualReviewReasonWithExpiry;
262
+ expiresAt: string;
263
+ };
264
+ export type RegistrarAccountBalance = {
265
+ success: true;
266
+ provider: RegistrarProviderName;
267
+ availableBalance: number;
268
+ currency?: string;
269
+ rawBalance: string;
270
+ } | {
271
+ success: false;
272
+ provider: RegistrarProviderName;
273
+ reason: "unsupported" | "provider_error";
274
+ error: string;
275
+ };
276
+ export type RegistrarRenewalPostureResponse = {
277
+ domain: SiteDomainRecord;
278
+ posture: RegistrarRenewalPosture;
279
+ checkedAt: string;
280
+ renewalCost?: RegistrarRenewalCostEstimate;
281
+ accountBalance?: RegistrarAccountBalance;
282
+ };
181
283
  export type SetHomepageRequest = {
182
284
  pageId: string;
183
285
  };
@@ -1,6 +1,6 @@
1
1
  import type { EventOnlineDetails, EventOnlineDetailsInput } from "./bookingRecords";
2
2
  import type { SiteVerticalBookingConfig } from "./bookingVerticals";
3
- import type { EventPricingMode } from "@riverbankcms/core";
3
+ import type { EventPricingMode, StaffMemberId, UserId } from "@riverbankcms/core";
4
4
  export type { EventPricingMode } from "@riverbankcms/core";
5
5
  /**
6
6
  * Booking Configuration Contracts
@@ -344,6 +344,31 @@ export type BookingNotificationSettings = {
344
344
  defaultRule: BookingNotificationRule;
345
345
  overrides: Partial<Record<BookingNotificationUpdateKind, BookingNotificationRule>>;
346
346
  };
347
+ export type AppointmentStaffReminderSettings = {
348
+ kind: "disabled";
349
+ } | {
350
+ kind: "daily_digest";
351
+ /** Site-local HH:mm send time. */
352
+ localSendTime: string;
353
+ };
354
+ export declare const DEFAULT_APPOINTMENT_STAFF_DIGEST_LOCAL_SEND_TIME = "07:00";
355
+ export type AppointmentStaffChangeNotificationSettings = {
356
+ kind: "disabled";
357
+ } | {
358
+ kind: "send_to_assigned_linked_staff";
359
+ };
360
+ export type AppointmentStaffNotificationSetupHealth = {
361
+ sendableStaffCount: number;
362
+ unlinkedStaff: Array<{
363
+ staffMemberId: StaffMemberId;
364
+ displayName: string;
365
+ }>;
366
+ linkedUserMissingEmail: Array<{
367
+ staffMemberId: StaffMemberId;
368
+ displayName: string;
369
+ userId: UserId;
370
+ }>;
371
+ };
347
372
  export type PersonRecordMode = "disabled" | "general" | "protected";
348
373
  export type BookingVerticalConfig = SiteVerticalBookingConfig;
349
374
  export type TeamMemberProfilePagePolicyMode = "disabled" | "selected" | "all";
@@ -383,6 +408,10 @@ export type BookingSettings = {
383
408
  eventOrganizerEmail: string | null;
384
409
  /** Site-wide internal booking update notifications. */
385
410
  notificationSettings: BookingNotificationSettings;
411
+ /** Staff-facing appointment reminders, separate from customer appointment reminders. */
412
+ appointmentStaffReminder: AppointmentStaffReminderSettings;
413
+ /** Immediate staff-facing notifications for appointment booking changes. */
414
+ appointmentStaffChangeNotifications: AppointmentStaffChangeNotificationSettings;
386
415
  /** Shared waitlist defaults for events and courses. */
387
416
  waitlists: BookingWaitlistSettings;
388
417
  /** Enable event ticketing by default for new/updated event series (can be overridden per series). */
@@ -413,5 +442,6 @@ export type BookingSettingsEditorSnapshot = {
413
442
  settings: BookingSettings;
414
443
  updatedAt: string | null;
415
444
  currencyEditState: BookingCurrencyEditState;
445
+ appointmentStaffNotificationSetupHealth: AppointmentStaffNotificationSetupHealth;
416
446
  };
417
447
  export type BookingSettingsResponse = BookingSettingsEditorSnapshot;
@@ -5,7 +5,7 @@ import type { BookingRequirementConfigRequest, BookingRequirementConfigResponse,
5
5
  import type { BookingSettingsResponse, CreateEventSeriesRequest, EventSeriesRecord, UpdateBookingSettingsRequest, UpdateEventSeriesRequest } from "./bookingConfig";
6
6
  import type { AdjustCustomerPassDetailsRequest, AdjustCustomerPassDetailsResponse, AssignCustomerMembershipRequest, AssignCustomerMembershipResponse, AssignCustomerPassRequest, AssignCustomerPassResponse, CancelCustomerMembershipAtPeriodEndRequest, CancelCustomerMembershipAtPeriodEndResponse, ConvertCreditRefundToCashRequest, ConvertCreditRefundToCashResponse, ListCustomerMembershipPaymentRefundsResponse, ListCustomerMembershipPaymentsResponse, ListCustomerPassRefundsResponse, RefundCustomerMembershipPaymentRequest, RefundCustomerMembershipPaymentResponse, RefundCustomerPassRequest, RefundCustomerPassResponse } from "./bookingAdjustments";
7
7
  import type { AppointmentResourceResponse, AppointmentServiceResponse, BookingAppointmentWithDetails, CreateAppointmentResourceRequest, CreateAppointmentServiceRequest, CreateTeamMemberProfileResponse, DiscardTeamMemberProfileDraftResponse, DeleteServiceResponse, ListAppointmentResourcesResponse, ListAppointmentServicesResponse, ListCourseEnrollmentRefundsResponse, ListEventAttendeeRefundsResponse, ListEventAttendeeTransfersResponse, OpsCancelEventAttendeeRequest, OpsCancelEventAttendeeResponse, OpsEventAttendeeDetailsResponse, OpsListUpcomingEventOccurrencesResponse, OpsOccurrenceAttendeesResponse, OpsRefundEventAttendeeResponse, OpsUpdateEventAttendeeCheckinRequest, OpsUpdateEventAttendeeCheckinResponse, OpsValidateEventTicketRequest, OpsValidateEventTicketResponse, ReferenceOptionsResponse, RemoveAppointmentResourceResponse, RefundCourseEnrollmentRequest, RefundCourseEnrollmentResponse, RefundEventAttendeeRequest, RefundEventAttendeeResponse, TransferEventAttendeeRequest, TransferEventAttendeeResponse, UpdateAppointmentResourceRequest, UpdateAppointmentServiceRequest, PublishTeamMemberProfileRequest, PublishTeamMemberProfileResponse, CancelScheduledTeamMemberProfileResponse, ScheduleTeamMemberProfileRequest, ScheduleTeamMemberProfileResponse, TeamMemberProfileContentResponse, UnpublishTeamMemberProfileResponse, UpdateTeamMemberProfileContentRequest, UpdateTeamMemberProfilePolicyRequest, UpdateTeamMemberProfilePolicyResponse, UpdateTeamMemberProfileRouteMetadataRequest, UpdateTeamMemberProfileRouteMetadataResponse } from "./bookingOperations";
8
- import type { AddEventOccurrenceAttendeeRequest, AddEventOccurrenceAttendeeResponse, AdjustCustomerCreditRequest, AdjustCustomerCreditResponse, BookingEventSeriesAttendee, BookingMembershipResponse, BookingPassResponse, CheckEventAdminEligibilityRequest, CheckEventAdminEligibilityResponse, CreateBookingCustomerRequest, CreateBookingCustomerResponse, RectifyBookingCustomerProfileRequest, RectifyBookingCustomerProfileResponse, CreateBookingMembershipRequest, CreateBookingPassRequest, CreateDiscountCodeRequest, CreateEventCategoryRequest, CreateOccurrenceRequest, CreateVenueRequest, DeleteDiscountCodeResponse, DeleteVenueResponse, DiscountCodeResponse, EventCategoryResponse, EventOccurrenceListRecord, EventOccurrenceRecord, GeocodeVenueRequest, GeocodeVenueResponse, GetCustomerCreditResponse, GetMoneyReportRequest, GetMoneyReportResponse, ListBookingActivityRequest, ListBookingActivityResponse, ListBookingCustomersRequest, ListBookingCustomersResponse, ListBookingMembershipsRequest, ListBookingMembershipsResponse, ListBookingPassesRequest, ListBookingPassesResponse, ListCustomerAttendancesRequest, ListCustomerAttendancesResponse, ListCustomerMembershipsResponse, ListCustomerPassesResponse, CreatePersonRecordEntryRequest, CreatePersonRecordEntryResponse, ListDiscountCodesResponse, ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse, ListEventCategoriesResponse, ListMoneyPaymentsRequest, ListMoneyPaymentsResponse, ListSiteCustomerMembershipsRequest, ListSiteCustomerMembershipsResponse, ListSiteCustomerPassesRequest, ListSiteCustomerPassesResponse, UpdateBookingMembershipRequest, UpdateBookingPassRequest, UpdateDiscountCodeRequest, UpdateEventCategoryRequest, UpdateOccurrenceRequest, UpdateVenueRequest, VenueRecord } from "./bookingRecords";
8
+ import type { AddEventOccurrenceAttendeeRequest, AddEventOccurrenceAttendeeResponse, AdjustCustomerCreditRequest, AdjustCustomerCreditResponse, BookingEventSeriesAttendee, BookingMembershipResponse, BookingPassResponse, CheckEventAdminEligibilityRequest, CheckEventAdminEligibilityResponse, CreateBookingCustomerRequest, CreateBookingCustomerResponse, RectifyBookingCustomerProfileRequest, RectifyBookingCustomerProfileResponse, RectifyBookingParticipantIdentityRequest, RectifyBookingParticipantIdentityResponse, CreateBookingMembershipRequest, CreateBookingPassRequest, CreateDiscountCodeRequest, CreateEventCategoryRequest, CreateOccurrenceRequest, CreateVenueRequest, DeleteDiscountCodeResponse, DeleteVenueResponse, DiscountCodeResponse, EventCategoryResponse, EventOccurrenceListRecord, EventOccurrenceRecord, GeocodeVenueRequest, GeocodeVenueResponse, GetCustomerCreditResponse, GetMoneyReportRequest, GetMoneyReportResponse, ListBookingActivityRequest, ListBookingActivityResponse, ListBookingCustomersRequest, ListBookingCustomersResponse, ListBookingMembershipsRequest, ListBookingMembershipsResponse, ListBookingPassesRequest, ListBookingPassesResponse, ListCustomerAttendancesRequest, ListCustomerAttendancesResponse, ListCustomerMembershipsResponse, ListCustomerPassesResponse, CreatePersonRecordEntryRequest, CreatePersonRecordEntryResponse, ListDiscountCodesResponse, ListDiscountRedemptionsRequest, ListDiscountRedemptionsResponse, ListEventCategoriesResponse, ListMoneyPaymentsRequest, ListMoneyPaymentsResponse, ListSiteCustomerMembershipsRequest, ListSiteCustomerMembershipsResponse, ListSiteCustomerPassesRequest, ListSiteCustomerPassesResponse, UpdateBookingMembershipRequest, UpdateBookingPassRequest, UpdateDiscountCodeRequest, UpdateEventCategoryRequest, UpdateOccurrenceRequest, UpdateVenueRequest, VenueRecord } from "./bookingRecords";
9
9
  import type { ApplyAppointmentSetupRequest, ApplyAppointmentSetupResponse, AppointmentSetupResponse } from "./appointmentSetup";
10
10
  import type { AddCourseEnrollmentRequest, AddCourseEnrollmentResponse, CourseRecord, CreateCourseRequest, CreateCourseResponse, DashboardWaitlistListResponse, DeleteCourseProgramResponse, DeleteCourseResponse, DuplicateCourseRequest, DuplicateCourseResponse, ListCourseEnrollmentsResponse, UpdateCourseEnrollmentRequest, UpdateCourseEnrollmentResponse, UpdateCourseRequest, UpdateCourseResponse, WaitlistDashboardActionResponse } from "./courses";
11
11
  import type { GetEmailSettingsResponse, GetEventSeriesEmailTemplatesResponse, GetNewsletterCampaignRecipientsSummaryResponse, GetNewsletterCampaignResponse, GetNewsletterCampaignStatsResponse, GetNewsletterSettingsResponse, GetNewsletterSubscriberResponse, GetNewsletterTemplateResponse, ListNewsletterCampaignsResponse, ListNewsletterListMembersQuery, ListNewsletterListMembersResponse, ListNewsletterListsResponse, ListNewsletterSendJobsQuery, ListNewsletterSendJobsResponse, ListNewsletterSubscribersQuery, ListNewsletterSubscribersResponse, ListNewsletterTagsResponse, ListNewsletterTemplatesResponse, PreviewEmailTemplateRequest, PreviewEmailTemplateResponse, PreviewNewsletterTemplateRequest, PreviewNewsletterTemplateResponse, RectifyNewsletterSubscriberRequest, RectifyNewsletterSubscriberResponse, SendTestEmailRequest, SendTestEmailResponse, UpdateEmailSettingsRequest, UpdateEmailSettingsResponse, UpdateEventSeriesEmailTemplatesRequest, UpdateEventSeriesEmailTemplatesResponse, UpdateNewsletterCampaignRequest, UpdateNewsletterCampaignResponse, UpdateNewsletterListMembershipsRequest, UpdateNewsletterListMembershipsResponse, UpdateNewsletterListRequest, UpdateNewsletterListResponse, UpdateNewsletterSettingsRequest, UpdateNewsletterSettingsResponse, UpdateNewsletterSubscriberRequest, UpdateNewsletterSubscriberResponse, UpdateNewsletterTemplateRequest, UpdateNewsletterTemplateResponse, UpsertNewsletterSubscriberRequest, UpsertNewsletterSubscriberResponse, ImportNewsletterSubscribersCsvResponse, ExportNewsletterSubscribersCsvResponse, DeleteNewsletterSubscriberResponse, AnonymizeNewsletterSubscriberResponse, ExportNewsletterSubscriberDataResponse, CreateNewsletterListRequest, CreateNewsletterListResponse, DeleteNewsletterListResponse, CreateNewsletterTemplateRequest, CreateNewsletterTemplateResponse, DeleteNewsletterTemplateResponse, CreateNewsletterCampaignRequest, CreateNewsletterCampaignResponse, DeleteNewsletterCampaignResponse, SendNewsletterCampaignNowRequest, SendNewsletterCampaignNowResponse, TestSendNewsletterCampaignRequest, TestSendNewsletterCampaignResponse, RetryNewsletterSendJobResponse, CancelNewsletterSendJobResponse } from "./communications";
@@ -373,6 +373,14 @@ export type BookingManagementAPIEndpoints = {
373
373
  }, {
374
374
  appointments: BookingAppointmentWithDetails[];
375
375
  }>;
376
+ exportBookingAppointmentsCsv: APIEndpoint<never, {
377
+ siteId: string;
378
+ status?: string;
379
+ resourceId?: string;
380
+ serviceId?: string;
381
+ startDate?: string;
382
+ endDate?: string;
383
+ }, Blob>;
376
384
  createAppointment: APIEndpoint<CreateAppointmentRequest, {
377
385
  siteId: string;
378
386
  }, CreateAppointmentResponse>;
@@ -446,6 +454,12 @@ export type BookingManagementAPIEndpoints = {
446
454
  status?: string;
447
455
  excludeCancelled?: string;
448
456
  }, ListCourseEnrollmentsResponse>;
457
+ exportCourseEnrollmentsCsv: APIEndpoint<never, {
458
+ siteId: string;
459
+ courseId: string;
460
+ status?: string;
461
+ excludeCancelled?: string;
462
+ }, Blob>;
449
463
  listCourseWaitlist: APIEndpoint<never, {
450
464
  siteId: string;
451
465
  courseId: string;
@@ -485,6 +499,10 @@ export type BookingManagementAPIEndpoints = {
485
499
  siteId: string;
486
500
  seriesId: string;
487
501
  }, BookingEventSeriesAttendee[]>;
502
+ exportEventSeriesAttendeesCsv: APIEndpoint<never, {
503
+ siteId: string;
504
+ seriesId: string;
505
+ }, Blob>;
488
506
  listEventSeriesWaitlist: APIEndpoint<never, {
489
507
  siteId: string;
490
508
  seriesId: string;
@@ -710,6 +728,9 @@ export type BookingManagementAPIEndpoints = {
710
728
  listBookingCustomers: APIEndpoint<never, {
711
729
  siteId: string;
712
730
  } & ListBookingCustomersRequest, ListBookingCustomersResponse>;
731
+ exportBookingCustomersCsv: APIEndpoint<never, {
732
+ siteId: string;
733
+ } & ListBookingCustomersRequest, Blob>;
713
734
  createBookingCustomer: APIEndpoint<CreateBookingCustomerRequest, {
714
735
  siteId: string;
715
736
  }, CreateBookingCustomerResponse>;
@@ -717,6 +738,10 @@ export type BookingManagementAPIEndpoints = {
717
738
  siteId: string;
718
739
  customerId: string;
719
740
  }, RectifyBookingCustomerProfileResponse>;
741
+ rectifyBookingParticipantIdentity: APIEndpoint<RectifyBookingParticipantIdentityRequest, {
742
+ siteId: string;
743
+ participantId: string;
744
+ }, RectifyBookingParticipantIdentityResponse>;
720
745
  listCustomerPasses: APIEndpoint<never, {
721
746
  siteId: string;
722
747
  customerId: string;
@@ -761,9 +786,21 @@ export type BookingManagementAPIEndpoints = {
761
786
  listMoneyPayments: APIEndpoint<never, {
762
787
  siteId: string;
763
788
  } & ListMoneyPaymentsRequest, ListMoneyPaymentsResponse>;
789
+ exportMoneyPaymentsCsv: APIEndpoint<never, {
790
+ siteId: string;
791
+ } & ListMoneyPaymentsRequest, Blob>;
792
+ exportMoneyBreakdownsCsv: APIEndpoint<never, {
793
+ siteId: string;
794
+ } & GetMoneyReportRequest, Blob>;
795
+ exportMoneyTimeSeriesCsv: APIEndpoint<never, {
796
+ siteId: string;
797
+ } & GetMoneyReportRequest, Blob>;
764
798
  listBookingActivity: APIEndpoint<never, {
765
799
  siteId: string;
766
800
  } & ListBookingActivityRequest, ListBookingActivityResponse>;
801
+ exportBookingActivityCsv: APIEndpoint<never, {
802
+ siteId: string;
803
+ } & Omit<ListBookingActivityRequest, "limit" | "cursor">, Blob>;
767
804
  listSiteActivityLogs: APIEndpoint<never, {
768
805
  siteId: string;
769
806
  since?: string;
@@ -140,15 +140,18 @@ export type BookingRefundAmountRequest = Readonly<{
140
140
  amountCents: number;
141
141
  }>;
142
142
  export type BookingRefundProtectedDepositOverride = "respect_policy" | "allow_protected_deposit_override";
143
+ export type BookingRequestedRefundMethod = "original_payment" | "site_credit";
143
144
  export type BookingRefundCommandRequest = Readonly<{
144
145
  kind: "refund_only";
145
146
  amount: BookingRefundAmountRequest;
147
+ requestedRefundMethod: BookingRequestedRefundMethod;
146
148
  protectedDepositOverride: BookingRefundProtectedDepositOverride;
147
149
  }> | Readonly<{
148
150
  kind: "refund_and_revoke";
149
151
  amount: Readonly<{
150
152
  kind: "full_remaining";
151
153
  }>;
154
+ requestedRefundMethod: BookingRequestedRefundMethod;
152
155
  protectedDepositOverride: BookingRefundProtectedDepositOverride;
153
156
  }>;
154
157
  export type RefundEventAttendeeRequest = {
@@ -12,6 +12,9 @@ export type BookingEventSeriesAttendeeGuest = {
12
12
  id: string;
13
13
  participantId?: string | null;
14
14
  participantParticipationId?: string | null;
15
+ participantCustomerId?: string | null;
16
+ participantEmail?: string | null;
17
+ participantUpdatedAt?: string | null;
15
18
  name: string;
16
19
  phone: string | null;
17
20
  guestIndex: number;
@@ -480,6 +483,47 @@ export type RectifyBookingCustomerProfileResponse = {
480
483
  customer: BookingCustomerWithCounts;
481
484
  changes: [];
482
485
  };
486
+ export type BookingParticipantIdentityForRectification = {
487
+ id: string;
488
+ siteId: string;
489
+ customerId: string | null;
490
+ displayName: string | null;
491
+ email: string | null;
492
+ emailNormalized: string | null;
493
+ phone: string | null;
494
+ identityState: "contactable" | "portal_claimed" | "staff_verified";
495
+ updatedAt: string;
496
+ };
497
+ /**
498
+ * Identifies which admin surface initiated a direct participant identity
499
+ * rectification. `event_registration_guest` is the only surface wired in v1
500
+ * (event/retreat guest rows in the attendees tab). `participant_record` is
501
+ * reserved for a future participant-record editor and is accepted by the API
502
+ * so that surface can ship without an additional contract change.
503
+ */
504
+ export type ParticipantIdentityRectificationSourceSurface = "event_registration_guest" | "participant_record";
505
+ export type ParticipantIdentityRectificationSourceContext = {
506
+ surface: ParticipantIdentityRectificationSourceSurface;
507
+ eventAttendeeId?: string | null;
508
+ eventGuestId?: string | null;
509
+ participantParticipationId?: string | null;
510
+ };
511
+ export type RectifyBookingParticipantIdentityRequest = {
512
+ expectedUpdatedAt: string;
513
+ fields: Partial<Record<CustomerContactField, string | null>>;
514
+ reason: string;
515
+ sourceContext?: ParticipantIdentityRectificationSourceContext | null;
516
+ };
517
+ export type RectifyBookingParticipantIdentityResponse = {
518
+ status: "updated";
519
+ participant: BookingParticipantIdentityForRectification;
520
+ auditEventId: string;
521
+ changes: CustomerContactChange[];
522
+ } | {
523
+ status: "noop";
524
+ participant: BookingParticipantIdentityForRectification;
525
+ changes: [];
526
+ };
483
527
  export type CustomerPassRecord = {
484
528
  id: string;
485
529
  passId: string;
@@ -779,6 +823,7 @@ export type MoneyDateRange = {
779
823
  };
780
824
  export type MoneyReportSummary = {
781
825
  currency: string;
826
+ currencies: readonly string[];
782
827
  cashCollectedCents: MoneyComparisonMetric;
783
828
  refundsCents: MoneyComparisonMetric;
784
829
  netRevenueCents: MoneyComparisonMetric;
@@ -1,7 +1,7 @@
1
1
  import { type RefundCodeClassification } from './customerMembershipOutcomes';
2
- export declare const STANDARD_LINE_ITEM_REFUND_INVALID_CODES: readonly ["missing_amount", "amount_exceeds_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required"];
2
+ export declare const STANDARD_LINE_ITEM_REFUND_INVALID_CODES: readonly ["missing_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required"];
3
3
  export type StandardLineItemRefundInvalidCode = (typeof STANDARD_LINE_ITEM_REFUND_INVALID_CODES)[number];
4
- export declare const EVENT_ATTENDEE_REFUND_INVALID_CODES: readonly ["manual_booking_not_refundable", "missing_amount", "amount_exceeds_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required"];
4
+ export declare const EVENT_ATTENDEE_REFUND_INVALID_CODES: readonly ["manual_booking_not_refundable", "missing_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required"];
5
5
  export type EventAttendeeRefundInvalidCode = (typeof EVENT_ATTENDEE_REFUND_INVALID_CODES)[number];
6
6
  export declare const CUSTOMER_PASS_REFUND_INVALID_CODES: readonly ["credit_refunds_disabled", "not_refundable", "amount_exceeds_remaining", "pass_revoke_requires_full_refund"];
7
7
  export type CustomerPassRefundInvalidCode = (typeof CUSTOMER_PASS_REFUND_INVALID_CODES)[number];
@@ -10,9 +10,9 @@ export type CustomerPassRefundFailedCode = (typeof CUSTOMER_PASS_REFUND_FAILED_C
10
10
  export declare const CUSTOMER_PASS_REFUND_SKIPPED_CODES: readonly ["not_refundable"];
11
11
  export type CustomerPassRefundSkippedCode = (typeof CUSTOMER_PASS_REFUND_SKIPPED_CODES)[number];
12
12
  export type CustomerPassRefundErrorCode = CustomerPassRefundFailedCode | CustomerPassRefundSkippedCode;
13
- export declare const EVENT_ATTENDEE_REFUND_FAILED_CODES: readonly ["not_found", "refund_not_allowed", "manual_booking_not_refundable", "missing_amount", "amount_exceeds_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
13
+ export declare const EVENT_ATTENDEE_REFUND_FAILED_CODES: readonly ["not_found", "refund_not_allowed", "manual_booking_not_refundable", "missing_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
14
14
  export type EventAttendeeRefundFailedCode = (typeof EVENT_ATTENDEE_REFUND_FAILED_CODES)[number];
15
- export declare const COURSE_ENROLLMENT_REFUND_FAILED_CODES: readonly ["not_found", "missing_amount", "amount_exceeds_remaining", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
15
+ export declare const COURSE_ENROLLMENT_REFUND_FAILED_CODES: readonly ["not_found", "missing_amount", "amount_exceeds_remaining", "credit_refunds_disabled", "missing_credit_customer", "deposit_refund_override_required", "refund_revoke_requires_full_line_refund", "unified_order_link_required", "already_refunded", "idempotency_amount_mismatch", "idempotency_method_mismatch", "refund_in_progress", "amount_exceeds_remaining", "pass_revoke_requires_full_refund", "refund_failed", "payment_intent_not_found", "stripe_error", "stale_pending_missing_context", "non_refundable_deposit_remaining"];
16
16
  export type CourseEnrollmentRefundFailedCode = (typeof COURSE_ENROLLMENT_REFUND_FAILED_CODES)[number];
17
17
  export declare function isCustomerPassRefundFailedCode(code: string): code is CustomerPassRefundFailedCode;
18
18
  export declare function isEventAttendeeRefundFailedCode(code: string): code is EventAttendeeRefundFailedCode;
@@ -3,7 +3,7 @@ import type { APIEndpoint } from "./apiEndpointTypes";
3
3
  import type { DeleteAccountRequest, DeleteAccountResponse } from "./accessAdmin";
4
4
  import type { AiPlaygroundApplyRequest, AiPlaygroundApplyResponse } from "./aiPlayground";
5
5
  import type { BillingCheckoutRequest, BillingCheckoutResponse, BillingStatusResponse, BillingSummaryResponse, SiteBillingCheckoutResponse, SiteBillingCostResponse } from "./billing";
6
- import type { CreateSiteFontUploadUrlRequest, CreateSiteFontUploadUrlResponse, DeleteSiteFontFileRequest, DeleteSiteFontFileResponse, ExportBackupRequest, ExportSeoCsvRequest, FontRecord, GetSiteFontResponse, ListPublicSiteFontsResponse, ListSiteFontsResponse, UpdateSiteFontRequest, UpdateSiteFontResponse, UploadSiteFontRequest, UploadSiteFontResponse } from "./siteAssets";
6
+ import type { CreateSiteFontUploadUrlRequest, CreateSiteFontUploadUrlResponse, DeleteSiteFontFileRequest, DeleteSiteFontFileResponse, ExportBackupRequest, FontRecord, GetSiteFontResponse, ListPublicSiteFontsResponse, ListSiteFontsResponse, UpdateSiteFontRequest, UpdateSiteFontResponse, UploadSiteFontRequest, UploadSiteFontResponse } from "./siteAssets";
7
7
  import type { AdminSiteCostResponse, AdminUpdateSiteCostRequest, AdminUpdateSiteCostResponse, CancelFlexibleBalanceBookingDueToNonPaymentRequest, CancelShopOrderItemRequest, CancelShopOrderItemResponse, CancelShopOrderRequest, CancelShopOrderResponse, CreateShopOrderPaymentLinkResponse, CreateOrderShipmentRequest, CreateOrderShipmentResponse, EditShopOrderAddressRequest, FlexibleBalanceAdminActionResponse, PortalAppointmentWithDetails, RefundShopOrderResponse, ReopenFlexibleBalanceBookingAfterNonPaymentCancellationRequest, SendShopOrderPaymentReminderResponse, SettleShopOrderPaymentRequest, SettleShopOrderPaymentResponse, ShopOrderDigitalFulfillmentRequest } from "./siteOperations";
8
8
  /**
9
9
  * Commerce and portal endpoints cover billing/account actions, portal customer flows,
@@ -57,10 +57,6 @@ export type CommercePortalAPIEndpoints = {
57
57
  exportSiteBackup: APIEndpoint<ExportBackupRequest, {
58
58
  siteId: string;
59
59
  }, Blob>;
60
- exportSeoCsv: APIEndpoint<ExportSeoCsvRequest, {
61
- siteId: string;
62
- type: string;
63
- }, Blob>;
64
60
  adminSiteCost: APIEndpoint<never, {
65
61
  siteId: string;
66
62
  }, AdminSiteCostResponse>;
@@ -24,7 +24,7 @@ export interface ApiResponse<TData> {
24
24
  data: TData;
25
25
  meta: ResponseMeta;
26
26
  }
27
- export type ApiErrorCode = 'auth:unauthenticated' | 'auth:token_expired' | 'auth:token_invalid' | 'auth:forbidden' | 'auth:mfa_required' | 'auth:sudo_required' | 'auth:insufficient_permissions' | 'auth:impersonation_restricted' | 'validation:invalid_input' | 'validation:missing_field' | 'validation:invalid_format' | 'validation:payload_too_large' | 'resource:not_found' | 'resource:already_exists' | 'resource:conflict' | 'resource:gone' | 'rate_limit:exceeded' | 'billing:payment_required' | 'billing:plan_limit_exceeded' | 'billing:pass_redemption_failed' | 'server:internal_error' | 'server:unavailable' | 'external:service_error' | 'network:connection_error' | 'network:timeout' | 'network:dns_error';
27
+ export type ApiErrorCode = 'auth:unauthenticated' | 'auth:token_expired' | 'auth:token_invalid' | 'auth:forbidden' | 'auth:mfa_required' | 'auth:sudo_required' | 'auth:insufficient_permissions' | 'auth:impersonation_restricted' | 'validation:invalid_input' | 'validation:missing_field' | 'validation:invalid_format' | 'validation:payload_too_large' | 'resource:not_found' | 'resource:already_exists' | 'resource:conflict' | 'resource:gone' | 'rate_limit:exceeded' | 'billing:payment_required' | 'billing:plan_limit_exceeded' | 'billing:pass_redemption_failed' | 'server:internal_error' | 'server:unavailable' | 'external:service_error' | 'external:registrar_orphaned_contact_profile' | 'network:connection_error' | 'network:timeout' | 'network:dns_error';
28
28
  export interface FieldError {
29
29
  field: string;
30
30
  code: string;
@@ -252,7 +252,7 @@ export type ImportNewsletterSubscribersCsvResponse = {
252
252
  }>;
253
253
  };
254
254
  };
255
- export type ExportNewsletterSubscribersCsvResponse = string;
255
+ export type ExportNewsletterSubscribersCsvResponse = Blob;
256
256
  export type ListNewsletterTemplatesResponse = {
257
257
  templates: NewsletterTemplateRecord[];
258
258
  };
@@ -92,7 +92,7 @@ export type ExportFormSubmissionsCsvQuery = {
92
92
  fields?: string;
93
93
  limit?: number;
94
94
  };
95
- export type ExportFormSubmissionsCsvResponse = string;
95
+ export type ExportFormSubmissionsCsvResponse = Blob;
96
96
  export type ThemePreferencesRecord = CamelizeKeys<DbRow<"site_theme_preferences">>;
97
97
  export type ThemeRow = CamelizeKeys<DbRow<"themes">>;
98
98
  export type ThemeGenerationTurn = {
@@ -1,5 +1,5 @@
1
1
  import type { APIEndpoints, SiteDomainRecord, DomainConfigResult } from './types';
2
- import type { DomainSearchResultResponse, RegisterDomainRequestPayload, RegisterDomainResponse } from './types';
2
+ import type { DomainSearchResultResponse, RegisterDomainRequestPayload, RegisterDomainResponse, RegistrarBooleanMutationRequest, RegistrarLifecycleResponse, RegistrarRenewalPostureResponse, SiteDomainContactPayload } from './types';
3
3
  import type { ApiClient } from './request';
4
4
  type RemoveDomainResponse = NonNullable<APIEndpoints['removeDomain']['response']>;
5
5
  type GetDomainDnsResponse = NonNullable<APIEndpoints['getDomainDns']['response']>;
@@ -37,16 +37,17 @@ export declare function verifyDomainDnsRequest(apiClient: ApiClient, { domainId,
37
37
  type RetryNameserversResponse = NonNullable<APIEndpoints['retryDomainNameservers']['response']>;
38
38
  type RetryVercelResponse = NonNullable<APIEndpoints['retryDomainVercel']['response']>;
39
39
  type RetryResendResponse = NonNullable<APIEndpoints['retryDomainResend']['response']>;
40
- export declare function retryNameserversRequest(apiClient: ApiClient, { domainId, options }: {
41
- domainId: string;
42
- options?: RequestInit;
43
- }): Promise<RetryNameserversResponse>;
44
- export declare function retryVercelRequest(apiClient: ApiClient, { domainId, options }: {
45
- domainId: string;
46
- options?: RequestInit;
47
- }): Promise<RetryVercelResponse>;
48
- export declare function retryResendRequest(apiClient: ApiClient, { domainId, options }: {
49
- domainId: string;
50
- options?: RequestInit;
51
- }): Promise<RetryResendResponse>;
40
+ type DomainIdRequest = {
41
+ domainId: string;
42
+ options?: RequestInit;
43
+ };
44
+ export declare function retryNameserversRequest(apiClient: ApiClient, { domainId, options }: DomainIdRequest): Promise<RetryNameserversResponse>;
45
+ export declare function updateRegisteredDomainContactRequest(apiClient: ApiClient, { domainId, contact, options }: DomainIdRequest & {
46
+ contact: SiteDomainContactPayload;
47
+ }): Promise<RegistrarLifecycleResponse>;
48
+ export declare function setRegisteredDomainPrivacyRequest(apiClient: ApiClient, { domainId, enabled, options }: DomainIdRequest & RegistrarBooleanMutationRequest): Promise<RegistrarLifecycleResponse>;
49
+ export declare function setRegisteredDomainAutoRenewRequest(apiClient: ApiClient, { domainId, enabled, options }: DomainIdRequest & RegistrarBooleanMutationRequest): Promise<RegistrarLifecycleResponse>;
50
+ export declare function getRegisteredDomainRenewalPostureRequest(apiClient: ApiClient, { domainId, options }: DomainIdRequest): Promise<RegistrarRenewalPostureResponse>;
51
+ export declare function retryVercelRequest(apiClient: ApiClient, { domainId, options }: DomainIdRequest): Promise<RetryVercelResponse>;
52
+ export declare function retryResendRequest(apiClient: ApiClient, { domainId, options }: DomainIdRequest): Promise<RetryResendResponse>;
52
53
  export {};