import type { BookingFormConfig, BookingFormDisplay, BookingFormHydration, BookingFormInteractiveIslandProps, BookingFormService } from '../system/runtime/nodes/booking-form.interactive';
import type { CourseRegistrationDisplay, CourseRegistrationHydration, CourseRegistrationInteractiveIslandProps } from '../system/runtime/nodes/course-registration.interactive';
import type { CartDisplay, CartLineDisplay, CheckoutDisplay, MembershipCardDisplay, PassCardDisplay, PassesMembershipsDisplay, ProductCardDisplay, ProductDetailDisplay, ProductListDisplay, ProductVariantOptionDisplay } from '../system/runtime/nodes/commerce/shared/display';
import type { EventListingDisplay, EventListingHydration, EventListingInteractiveIslandProps } from '../system/runtime/nodes/events/EventListing.interactive';
import type { EventCalendarDisplay, EventCalendarHydration, EventCalendarInteractiveIslandProps } from '../system/runtime/nodes/events/EventCalendar.interactive';
import type { EventCombinedDisplay, EventCombinedHydration, EventCombinedInteractiveIslandProps } from '../system/runtime/nodes/events/EventCombined.interactive';
import type { EventRegistrationDisplay, EventRegistrationHydration, EventRegistrationInteractiveIslandProps } from '../system/runtime/nodes/event-registration.interactive';
import type { FormDisplay, FormHydration, FormInteractiveIslandProps } from '../system/runtime/nodes/form.interactive';
import type { GiftingDisplay, GiftingHydration, GiftingInteractiveIslandProps } from '../system/runtime/nodes/gifting.interactive';
import type { NewsletterFormDisplay, NewsletterFormHydration, NewsletterFormInteractiveIslandProps } from '../system/runtime/nodes/newsletter-form.interactive';
import { type CartHydration, type CartInteractiveIslandProps, type CheckoutHydration, type CheckoutInteractiveIslandProps, type PassesMembershipsHydration, type ProductDetailInteractiveIslandProps, type ProductDetailHydration, type ProductListInteractiveIslandProps, type ProductListHydration, type ShopInteractiveIslandProps } from '../system/runtime/nodes/shop.interactive';
export declare const proofBlockIslandCodecs: {
    readonly 'booking-form': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "booking-form";
            } & Readonly<{
                display: Readonly<{
                    kind: "booking-form";
                    state: "missing" | "ready";
                    className: string | null;
                    submitLabel: string;
                    successMessage: string | null;
                    message: string | null;
                }>;
                hydration: Readonly<{
                    formId: string | null;
                    serviceId: string | null;
                    resourceId: string | null;
                    initialData?: Readonly<Record<string, unknown>> | null;
                    noticeMessage?: string | null;
                    requiresServiceSelection?: boolean;
                    requiresResourceSelection?: boolean;
                    shouldAutoSelectSingleResource?: boolean;
                    rebookContext?: Readonly<{
                        kind: "portal_rebook";
                    }> | null;
                    form: Readonly<{
                        id: string;
                        name: string;
                        slug: string;
                        settings?: Readonly<{
                            type: "booking";
                            serviceId?: string;
                            serviceIds?: readonly string[];
                            resourceId?: string;
                            requiresApproval?: boolean;
                            successMessage?: string;
                        }>;
                        schema?: Readonly<{
                            version?: string;
                            fields: readonly Readonly<{
                                id: string;
                                label: string;
                                type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
                                required?: boolean;
                                placeholder?: string;
                                helpText?: string;
                                options?: readonly Readonly<{
                                    value: string;
                                    label: string;
                                }>[];
                                multiple?: boolean;
                                minLength?: number;
                                maxLength?: number;
                                pattern?: string;
                                min?: number;
                                max?: number;
                            }>[];
                        }>;
                    }> | null;
                    services: readonly Readonly<{
                        id: string;
                        siteId: string;
                        title: string;
                        description?: string;
                        durationMinutes?: number;
                        priceAmount?: number | null;
                        priceCurrency?: string | null;
                        paymentTerms?: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                        paymentTermsAvailability?: Readonly<{
                            kind: "available";
                            paymentTerms: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                        }> | Readonly<{
                            kind: "pending_stripe_setup";
                            paymentTerms: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                            reason: "online_payment_configured_before_launch";
                        }>;
                    }>[];
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "booking-form";
            } & Readonly<{
                display: Readonly<{
                    kind: "booking-form";
                    state: "missing" | "ready";
                    className: string | null;
                    submitLabel: string;
                    successMessage: string | null;
                    message: string | null;
                }>;
                hydration: Readonly<{
                    formId: string | null;
                    serviceId: string | null;
                    resourceId: string | null;
                    initialData?: Readonly<Record<string, unknown>> | null;
                    noticeMessage?: string | null;
                    requiresServiceSelection?: boolean;
                    requiresResourceSelection?: boolean;
                    shouldAutoSelectSingleResource?: boolean;
                    rebookContext?: Readonly<{
                        kind: "portal_rebook";
                    }> | null;
                    form: Readonly<{
                        id: string;
                        name: string;
                        slug: string;
                        settings?: Readonly<{
                            type: "booking";
                            serviceId?: string;
                            serviceIds?: readonly string[];
                            resourceId?: string;
                            requiresApproval?: boolean;
                            successMessage?: string;
                        }>;
                        schema?: Readonly<{
                            version?: string;
                            fields: readonly Readonly<{
                                id: string;
                                label: string;
                                type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
                                required?: boolean;
                                placeholder?: string;
                                helpText?: string;
                                options?: readonly Readonly<{
                                    value: string;
                                    label: string;
                                }>[];
                                multiple?: boolean;
                                minLength?: number;
                                maxLength?: number;
                                pattern?: string;
                                min?: number;
                                max?: number;
                            }>[];
                        }>;
                    }> | null;
                    services: readonly Readonly<{
                        id: string;
                        siteId: string;
                        title: string;
                        description?: string;
                        durationMinutes?: number;
                        priceAmount?: number | null;
                        priceCurrency?: string | null;
                        paymentTerms?: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                        paymentTermsAvailability?: Readonly<{
                            kind: "available";
                            paymentTerms: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                        }> | Readonly<{
                            kind: "pending_stripe_setup";
                            paymentTerms: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                            reason: "online_payment_configured_before_launch";
                        }>;
                    }>[];
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'course-registration': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "course-registration";
            } & Readonly<{
                display: Readonly<{
                    kind: "course-registration";
                    state: "shell";
                    className: string | null;
                    summaryButtonText: string;
                }>;
                hydration: Readonly<Omit<import("../system/runtime/nodes/course-registration").CourseRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "course-registration";
            } & Readonly<{
                display: Readonly<{
                    kind: "course-registration";
                    state: "shell";
                    className: string | null;
                    summaryButtonText: string;
                }>;
                hydration: Readonly<Omit<import("../system/runtime/nodes/course-registration").CourseRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
            }>>;
        }>>;
    }>;
    readonly 'event-registration': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "event-registration";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-registration";
                    state: "shell";
                    className: string | null;
                    summaryButtonText: string;
                }>;
                hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "event-registration";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-registration";
                    state: "shell";
                    className: string | null;
                    summaryButtonText: string;
                }>;
                hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
            }>>;
        }>>;
    }>;
    readonly form: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "form";
            } & Readonly<{
                display: Readonly<{
                    kind: "form";
                    state: "missing" | "ready";
                    className: string | null;
                    formId: string | null;
                    submitLabel: string;
                    successMessage: string | null;
                    form: import("..").FormRecord | null;
                    groups: readonly import("../system/runtime/nodes/form-layout").FormFieldGroup[];
                }>;
                hydration: Readonly<{
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "form";
            } & Readonly<{
                display: Readonly<{
                    kind: "form";
                    state: "missing" | "ready";
                    className: string | null;
                    formId: string | null;
                    submitLabel: string;
                    successMessage: string | null;
                    form: import("..").FormRecord | null;
                    groups: readonly import("../system/runtime/nodes/form-layout").FormFieldGroup[];
                }>;
                hydration: Readonly<{
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'event-listing': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-listing";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-listing";
                    state: "loading" | "empty" | "ready";
                    listLayout: import("..").EventLayout;
                    className: string | null;
                    emptyMessage: string;
                    loadingMessage: string;
                    containerClass: string;
                    cardVariant: import("../system").CardVariant;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    orientation: import("..").CardOrientation;
                    events: readonly import("..").PublicEvent[];
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    eventsPerPage: string;
                    paginationMode: "loadMore" | "seeAllLink";
                    seeAllUrl?: string;
                    loadMoreText: string;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds?: string | null;
                    filterStaffMemberId?: string | null;
                    filterVenueId?: string | null;
                    fetchInitialEventsOnMount: boolean;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-listing";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-listing";
                    state: "loading" | "empty" | "ready";
                    listLayout: import("..").EventLayout;
                    className: string | null;
                    emptyMessage: string;
                    loadingMessage: string;
                    containerClass: string;
                    cardVariant: import("../system").CardVariant;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    orientation: import("..").CardOrientation;
                    events: readonly import("..").PublicEvent[];
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    eventsPerPage: string;
                    paginationMode: "loadMore" | "seeAllLink";
                    seeAllUrl?: string;
                    loadMoreText: string;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds?: string | null;
                    filterStaffMemberId?: string | null;
                    filterVenueId?: string | null;
                    fetchInitialEventsOnMount: boolean;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'event-calendar': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-calendar";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-calendar";
                    displayMode: import("..").DisplayMode;
                    className: string | null;
                    events: readonly import("..").PublicEvent[];
                    listLayout: import("..").EventLayout;
                    listColumns: import("..").ColumnOption;
                    eventsPerPage: string;
                    loadMoreText: string;
                    startOfWeek: import("..").WeekStart;
                    calendarTabViews: import("..").CalendarTabViews;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds: string | null;
                    filterStaffMemberId: string | null;
                    filterVenueId: string | null;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    emptyMessage: string;
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    prefetchedEvents: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-calendar";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-calendar";
                    displayMode: import("..").DisplayMode;
                    className: string | null;
                    events: readonly import("..").PublicEvent[];
                    listLayout: import("..").EventLayout;
                    listColumns: import("..").ColumnOption;
                    eventsPerPage: string;
                    loadMoreText: string;
                    startOfWeek: import("..").WeekStart;
                    calendarTabViews: import("..").CalendarTabViews;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds: string | null;
                    filterStaffMemberId: string | null;
                    filterVenueId: string | null;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    emptyMessage: string;
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    prefetchedEvents: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'newsletter-form': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "newsletter-form";
            } & Readonly<{
                display: Readonly<{
                    kind: "newsletter-form";
                    className: string | null;
                    buttonLabel: string;
                    successMessage: string | null;
                    privacyNote: string | null;
                    fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
                }>;
                hydration: Readonly<{
                    listId?: string | null;
                    preset: import("../system/runtime/nodes/newsletter-form.types").NewsletterPreset;
                    includePhone: boolean;
                    tags?: string | null;
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "newsletter-form";
            } & Readonly<{
                display: Readonly<{
                    kind: "newsletter-form";
                    className: string | null;
                    buttonLabel: string;
                    successMessage: string | null;
                    privacyNote: string | null;
                    fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
                }>;
                hydration: Readonly<{
                    listId?: string | null;
                    preset: import("../system/runtime/nodes/newsletter-form.types").NewsletterPreset;
                    includePhone: boolean;
                    tags?: string | null;
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>>;
    }>;
    readonly gifting: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "gifting";
            } & Readonly<{
                display: Readonly<{
                    kind: "gifting";
                    state: "ready";
                    className: string | null;
                    heading: string;
                    intro: string | null;
                    giftCardsHeading: string;
                    vouchersHeading: string;
                    emptyStateText: string;
                }>;
                hydration: Readonly<{
                    offers: import("../system/runtime/nodes/gifting.interactive").PublicGiftingOffersResponse | null;
                    checkoutButtonText: string;
                    successMessage: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "gifting";
            } & Readonly<{
                display: Readonly<{
                    kind: "gifting";
                    state: "ready";
                    className: string | null;
                    heading: string;
                    intro: string | null;
                    giftCardsHeading: string;
                    vouchersHeading: string;
                    emptyStateText: string;
                }>;
                hydration: Readonly<{
                    offers: import("../system/runtime/nodes/gifting.interactive").PublicGiftingOffersResponse | null;
                    checkoutButtonText: string;
                    successMessage: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'product-list': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "product-list";
            } & Readonly<{
                display: Readonly<{
                    kind: "product-list";
                    state: "empty" | "ready";
                    heading: string | null;
                    className: string | null;
                    layout: "grid" | "list";
                    columns: string;
                    emptyMessage: string;
                    cards: readonly Readonly<{
                        productId: string;
                        title: string;
                        path: string | null;
                        summary: string | null;
                        priceLabel: string | null;
                        badges: readonly string[];
                        image: Readonly<{
                            url: string;
                            alt: string | null;
                        }> | null;
                        variantOptions: readonly Readonly<{
                            id: string;
                            label: string;
                            soldOut: boolean;
                        }>[];
                        selectedVariantId: string | null;
                        selectionLabel: string;
                        actionLabel: string;
                        soldOut: boolean;
                    }>[];
                }>;
                hydration: Readonly<{
                    products: readonly import("../system/blocks/products/shared").PublicProduct[];
                    showSummary: boolean;
                    showBadges: boolean;
                    showPrices: boolean;
                    addButtonText: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "product-list";
            } & Readonly<{
                display: Readonly<{
                    kind: "product-list";
                    state: "empty" | "ready";
                    heading: string | null;
                    className: string | null;
                    layout: "grid" | "list";
                    columns: string;
                    emptyMessage: string;
                    cards: readonly Readonly<{
                        productId: string;
                        title: string;
                        path: string | null;
                        summary: string | null;
                        priceLabel: string | null;
                        badges: readonly string[];
                        image: Readonly<{
                            url: string;
                            alt: string | null;
                        }> | null;
                        variantOptions: readonly Readonly<{
                            id: string;
                            label: string;
                            soldOut: boolean;
                        }>[];
                        selectedVariantId: string | null;
                        selectionLabel: string;
                        actionLabel: string;
                        soldOut: boolean;
                    }>[];
                }>;
                hydration: Readonly<{
                    products: readonly import("../system/blocks/products/shared").PublicProduct[];
                    showSummary: boolean;
                    showBadges: boolean;
                    showPrices: boolean;
                    addButtonText: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'product-detail': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "product-detail";
            } & Readonly<{
                display: ProductDetailDisplay;
                hydration: Readonly<{
                    products: readonly import("../system/blocks/products/shared").PublicProduct[];
                    productId: string | null;
                    showSummary: boolean;
                    showBadges: boolean;
                    showBody: boolean;
                    addButtonText: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "product-detail";
            } & Readonly<{
                display: ProductDetailDisplay;
                hydration: Readonly<{
                    products: readonly import("../system/blocks/products/shared").PublicProduct[];
                    productId: string | null;
                    showSummary: boolean;
                    showBadges: boolean;
                    showBody: boolean;
                    addButtonText: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly cart: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "cart";
            } & Readonly<{
                display: Readonly<{
                    kind: "cart";
                    state: "empty" | "ready";
                    heading: string | null;
                    className: string | null;
                    emptyMessage: string;
                    supportText: string | null;
                    items: readonly Readonly<{
                        key: string;
                        title: string;
                        priceLabel: string;
                        quantity: number;
                        quantityEditable: boolean;
                    }>[];
                    subtotalLabel: string | null;
                    checkoutButtonText: string;
                    clearButtonText: string;
                }>;
                hydration: Readonly<{
                    emptyStateText: string;
                    checkoutButtonText: string;
                    clearButtonText: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "cart";
            } & Readonly<{
                display: Readonly<{
                    kind: "cart";
                    state: "empty" | "ready";
                    heading: string | null;
                    className: string | null;
                    emptyMessage: string;
                    supportText: string | null;
                    items: readonly Readonly<{
                        key: string;
                        title: string;
                        priceLabel: string;
                        quantity: number;
                        quantityEditable: boolean;
                    }>[];
                    subtotalLabel: string | null;
                    checkoutButtonText: string;
                    clearButtonText: string;
                }>;
                hydration: Readonly<{
                    emptyStateText: string;
                    checkoutButtonText: string;
                    clearButtonText: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly checkout: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "checkout";
            } & Readonly<{
                display: Readonly<{
                    kind: "checkout";
                    state: "empty" | "blocked" | "ready";
                    heading: string | null;
                    className: string | null;
                    message: string | null;
                    submitButtonText: string;
                }>;
                hydration: Readonly<{
                    emptyStateText: string;
                    submitButtonText: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "checkout";
            } & Readonly<{
                display: Readonly<{
                    kind: "checkout";
                    state: "empty" | "blocked" | "ready";
                    heading: string | null;
                    className: string | null;
                    message: string | null;
                    submitButtonText: string;
                }>;
                hydration: Readonly<{
                    emptyStateText: string;
                    submitButtonText: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly shop: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "passes-memberships";
            } & Readonly<{
                display: Readonly<{
                    kind: "passes-memberships";
                    state: "empty" | "ready";
                    className: string | null;
                    layout: "grid" | "list";
                    columns: string;
                    emptyMessage: string;
                    passesHeading: string;
                    membershipsHeading: string;
                    passes: readonly Readonly<{
                        id: string;
                        title: string;
                        description: string | null;
                        priceLabel: string;
                        creditsLabel: string;
                        perCreditLabel: string | null;
                        validityLabel: string | null;
                        actionLabel: string;
                    }>[];
                    memberships: readonly Readonly<{
                        id: string;
                        title: string;
                        description: string | null;
                        priceLabel: string;
                        intervalLabel: string;
                        actionLabel: string;
                    }>[];
                }>;
                hydration: Readonly<{
                    passes: readonly import("..").PublicPassProduct[];
                    memberships: readonly import("..").PublicMembershipProduct[];
                    passPurchaseMode: "add_to_cart" | "buy_now";
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "passes-memberships";
            } & Readonly<{
                display: Readonly<{
                    kind: "passes-memberships";
                    state: "empty" | "ready";
                    className: string | null;
                    layout: "grid" | "list";
                    columns: string;
                    emptyMessage: string;
                    passesHeading: string;
                    membershipsHeading: string;
                    passes: readonly Readonly<{
                        id: string;
                        title: string;
                        description: string | null;
                        priceLabel: string;
                        creditsLabel: string;
                        perCreditLabel: string | null;
                        validityLabel: string | null;
                        actionLabel: string;
                    }>[];
                    memberships: readonly Readonly<{
                        id: string;
                        title: string;
                        description: string | null;
                        priceLabel: string;
                        intervalLabel: string;
                        actionLabel: string;
                    }>[];
                }>;
                hydration: Readonly<{
                    passes: readonly import("..").PublicPassProduct[];
                    memberships: readonly import("..").PublicMembershipProduct[];
                    passPurchaseMode: "add_to_cart" | "buy_now";
                }>;
            }>>;
        }>>;
    }>;
};
export declare const runtimeIslandCodecs: {
    readonly 'event-combined': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-combined";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-combined";
                    className: string | null;
                    events: readonly import("..").PublicEvent[];
                    listLayout: import("..").EventLayout;
                    listColumns: import("..").ColumnOption;
                    eventsPerPage: string;
                    loadMoreText: string;
                    startOfWeek: import("..").WeekStart;
                    calendarTabViews: import("..").CalendarTabViews;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds: string | null;
                    filterStaffMemberId: string | null;
                    filterVenueId: string | null;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    emptyMessage: string;
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    prefetchedEvents: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-combined";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-combined";
                    className: string | null;
                    events: readonly import("..").PublicEvent[];
                    listLayout: import("..").EventLayout;
                    listColumns: import("..").ColumnOption;
                    eventsPerPage: string;
                    loadMoreText: string;
                    startOfWeek: import("..").WeekStart;
                    calendarTabViews: import("..").CalendarTabViews;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds: string | null;
                    filterStaffMemberId: string | null;
                    filterVenueId: string | null;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    emptyMessage: string;
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    prefetchedEvents: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'booking-form': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "booking-form";
            } & Readonly<{
                display: Readonly<{
                    kind: "booking-form";
                    state: "missing" | "ready";
                    className: string | null;
                    submitLabel: string;
                    successMessage: string | null;
                    message: string | null;
                }>;
                hydration: Readonly<{
                    formId: string | null;
                    serviceId: string | null;
                    resourceId: string | null;
                    initialData?: Readonly<Record<string, unknown>> | null;
                    noticeMessage?: string | null;
                    requiresServiceSelection?: boolean;
                    requiresResourceSelection?: boolean;
                    shouldAutoSelectSingleResource?: boolean;
                    rebookContext?: Readonly<{
                        kind: "portal_rebook";
                    }> | null;
                    form: Readonly<{
                        id: string;
                        name: string;
                        slug: string;
                        settings?: Readonly<{
                            type: "booking";
                            serviceId?: string;
                            serviceIds?: readonly string[];
                            resourceId?: string;
                            requiresApproval?: boolean;
                            successMessage?: string;
                        }>;
                        schema?: Readonly<{
                            version?: string;
                            fields: readonly Readonly<{
                                id: string;
                                label: string;
                                type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
                                required?: boolean;
                                placeholder?: string;
                                helpText?: string;
                                options?: readonly Readonly<{
                                    value: string;
                                    label: string;
                                }>[];
                                multiple?: boolean;
                                minLength?: number;
                                maxLength?: number;
                                pattern?: string;
                                min?: number;
                                max?: number;
                            }>[];
                        }>;
                    }> | null;
                    services: readonly Readonly<{
                        id: string;
                        siteId: string;
                        title: string;
                        description?: string;
                        durationMinutes?: number;
                        priceAmount?: number | null;
                        priceCurrency?: string | null;
                        paymentTerms?: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                        paymentTermsAvailability?: Readonly<{
                            kind: "available";
                            paymentTerms: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                        }> | Readonly<{
                            kind: "pending_stripe_setup";
                            paymentTerms: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                            reason: "online_payment_configured_before_launch";
                        }>;
                    }>[];
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "booking-form";
            } & Readonly<{
                display: Readonly<{
                    kind: "booking-form";
                    state: "missing" | "ready";
                    className: string | null;
                    submitLabel: string;
                    successMessage: string | null;
                    message: string | null;
                }>;
                hydration: Readonly<{
                    formId: string | null;
                    serviceId: string | null;
                    resourceId: string | null;
                    initialData?: Readonly<Record<string, unknown>> | null;
                    noticeMessage?: string | null;
                    requiresServiceSelection?: boolean;
                    requiresResourceSelection?: boolean;
                    shouldAutoSelectSingleResource?: boolean;
                    rebookContext?: Readonly<{
                        kind: "portal_rebook";
                    }> | null;
                    form: Readonly<{
                        id: string;
                        name: string;
                        slug: string;
                        settings?: Readonly<{
                            type: "booking";
                            serviceId?: string;
                            serviceIds?: readonly string[];
                            resourceId?: string;
                            requiresApproval?: boolean;
                            successMessage?: string;
                        }>;
                        schema?: Readonly<{
                            version?: string;
                            fields: readonly Readonly<{
                                id: string;
                                label: string;
                                type: "text" | "email" | "textarea" | "select" | "radio" | "checkbox" | "booking_requirement_consent" | "tel" | "url" | "number" | "date" | "time";
                                required?: boolean;
                                placeholder?: string;
                                helpText?: string;
                                options?: readonly Readonly<{
                                    value: string;
                                    label: string;
                                }>[];
                                multiple?: boolean;
                                minLength?: number;
                                maxLength?: number;
                                pattern?: string;
                                min?: number;
                                max?: number;
                            }>[];
                        }>;
                    }> | null;
                    services: readonly Readonly<{
                        id: string;
                        siteId: string;
                        title: string;
                        description?: string;
                        durationMinutes?: number;
                        priceAmount?: number | null;
                        priceCurrency?: string | null;
                        paymentTerms?: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                        paymentTermsAvailability?: Readonly<{
                            kind: "available";
                            paymentTerms: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                        }> | Readonly<{
                            kind: "pending_stripe_setup";
                            paymentTerms: import("../system/blocks/shared/bookingPaymentTerms").BlockBookingPaymentTerms;
                            reason: "online_payment_configured_before_launch";
                        }>;
                    }>[];
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'course-registration': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "course-registration";
            } & Readonly<{
                display: Readonly<{
                    kind: "course-registration";
                    state: "shell";
                    className: string | null;
                    summaryButtonText: string;
                }>;
                hydration: Readonly<Omit<import("../system/runtime/nodes/course-registration").CourseRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "course-registration";
            } & Readonly<{
                display: Readonly<{
                    kind: "course-registration";
                    state: "shell";
                    className: string | null;
                    summaryButtonText: string;
                }>;
                hydration: Readonly<Omit<import("../system/runtime/nodes/course-registration").CourseRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText">>;
            }>>;
        }>>;
    }>;
    readonly 'event-registration': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "event-registration";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-registration";
                    state: "shell";
                    className: string | null;
                    summaryButtonText: string;
                }>;
                hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            portalToken?: string | null;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "event-registration";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-registration";
                    state: "shell";
                    className: string | null;
                    summaryButtonText: string;
                }>;
                hydration: Readonly<Omit<import("../system/runtime/nodes/event-registration").EventRegistrationClientProps, "siteId" | "stage" | "className" | "buttonText" | "registrationEndpoint" | "eligibilityEndpoint" | "checkoutEndpoint">>;
            }>>;
        }>>;
    }>;
    readonly form: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "form";
            } & Readonly<{
                display: Readonly<{
                    kind: "form";
                    state: "missing" | "ready";
                    className: string | null;
                    formId: string | null;
                    submitLabel: string;
                    successMessage: string | null;
                    form: import("..").FormRecord | null;
                    groups: readonly import("../system/runtime/nodes/form-layout").FormFieldGroup[];
                }>;
                hydration: Readonly<{
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "form";
            } & Readonly<{
                display: Readonly<{
                    kind: "form";
                    state: "missing" | "ready";
                    className: string | null;
                    formId: string | null;
                    submitLabel: string;
                    successMessage: string | null;
                    form: import("..").FormRecord | null;
                    groups: readonly import("../system/runtime/nodes/form-layout").FormFieldGroup[];
                }>;
                hydration: Readonly<{
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'event-listing': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-listing";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-listing";
                    state: "loading" | "empty" | "ready";
                    listLayout: import("..").EventLayout;
                    className: string | null;
                    emptyMessage: string;
                    loadingMessage: string;
                    containerClass: string;
                    cardVariant: import("../system").CardVariant;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    orientation: import("..").CardOrientation;
                    events: readonly import("..").PublicEvent[];
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    eventsPerPage: string;
                    paginationMode: "loadMore" | "seeAllLink";
                    seeAllUrl?: string;
                    loadMoreText: string;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds?: string | null;
                    filterStaffMemberId?: string | null;
                    filterVenueId?: string | null;
                    fetchInitialEventsOnMount: boolean;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-listing";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-listing";
                    state: "loading" | "empty" | "ready";
                    listLayout: import("..").EventLayout;
                    className: string | null;
                    emptyMessage: string;
                    loadingMessage: string;
                    containerClass: string;
                    cardVariant: import("../system").CardVariant;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    orientation: import("..").CardOrientation;
                    events: readonly import("..").PublicEvent[];
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    eventsPerPage: string;
                    paginationMode: "loadMore" | "seeAllLink";
                    seeAllUrl?: string;
                    loadMoreText: string;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds?: string | null;
                    filterStaffMemberId?: string | null;
                    filterVenueId?: string | null;
                    fetchInitialEventsOnMount: boolean;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'event-calendar': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-calendar";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-calendar";
                    displayMode: import("..").DisplayMode;
                    className: string | null;
                    events: readonly import("..").PublicEvent[];
                    listLayout: import("..").EventLayout;
                    listColumns: import("..").ColumnOption;
                    eventsPerPage: string;
                    loadMoreText: string;
                    startOfWeek: import("..").WeekStart;
                    calendarTabViews: import("..").CalendarTabViews;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds: string | null;
                    filterStaffMemberId: string | null;
                    filterVenueId: string | null;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    emptyMessage: string;
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    prefetchedEvents: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "event-calendar";
            } & Readonly<{
                display: Readonly<{
                    kind: "event-calendar";
                    displayMode: import("..").DisplayMode;
                    className: string | null;
                    events: readonly import("..").PublicEvent[];
                    listLayout: import("..").EventLayout;
                    listColumns: import("..").ColumnOption;
                    eventsPerPage: string;
                    loadMoreText: string;
                    startOfWeek: import("..").WeekStart;
                    calendarTabViews: import("..").CalendarTabViews;
                    showFilters: boolean;
                    showCategoryFilter: import("..").FilterAutoShow;
                    showVenueFilter: boolean;
                    showStaffFilter: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                    filterCategoryIds: string | null;
                    filterStaffMemberId: string | null;
                    filterVenueId: string | null;
                    buttonVariant: import("../system").ButtonVariant;
                    buttonText: string;
                    showVenue: boolean;
                    showMap: boolean;
                    showCapacity: boolean;
                    emptyMessage: string;
                }>;
                hydration: Readonly<{
                    siteId: string;
                    stage?: "preview" | "published";
                    prefetchedEvents: boolean;
                    eventKind: import("..").EventBlockKind;
                    eventSurface: import("..").EventSurfaceScope;
                    filterEventPresets: string | null;
                    scheduleScope: import("..").EventScheduleScope;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'newsletter-form': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "newsletter-form";
            } & Readonly<{
                display: Readonly<{
                    kind: "newsletter-form";
                    className: string | null;
                    buttonLabel: string;
                    successMessage: string | null;
                    privacyNote: string | null;
                    fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
                }>;
                hydration: Readonly<{
                    listId?: string | null;
                    preset: import("../system/runtime/nodes/newsletter-form.types").NewsletterPreset;
                    includePhone: boolean;
                    tags?: string | null;
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "newsletter-form";
            } & Readonly<{
                display: Readonly<{
                    kind: "newsletter-form";
                    className: string | null;
                    buttonLabel: string;
                    successMessage: string | null;
                    privacyNote: string | null;
                    fields: readonly import("../system/runtime/nodes/newsletter-form.types").NewsletterFieldDef[];
                }>;
                hydration: Readonly<{
                    listId?: string | null;
                    preset: import("../system/runtime/nodes/newsletter-form.types").NewsletterPreset;
                    includePhone: boolean;
                    tags?: string | null;
                    spamProtectionEnabled?: boolean;
                }>;
            }>>;
        }>>;
    }>;
    readonly gifting: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "gifting";
            } & Readonly<{
                display: Readonly<{
                    kind: "gifting";
                    state: "ready";
                    className: string | null;
                    heading: string;
                    intro: string | null;
                    giftCardsHeading: string;
                    vouchersHeading: string;
                    emptyStateText: string;
                }>;
                hydration: Readonly<{
                    offers: import("../system/runtime/nodes/gifting.interactive").PublicGiftingOffersResponse | null;
                    checkoutButtonText: string;
                    successMessage: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "gifting";
            } & Readonly<{
                display: Readonly<{
                    kind: "gifting";
                    state: "ready";
                    className: string | null;
                    heading: string;
                    intro: string | null;
                    giftCardsHeading: string;
                    vouchersHeading: string;
                    emptyStateText: string;
                }>;
                hydration: Readonly<{
                    offers: import("../system/runtime/nodes/gifting.interactive").PublicGiftingOffersResponse | null;
                    checkoutButtonText: string;
                    successMessage: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'product-list': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "product-list";
            } & Readonly<{
                display: Readonly<{
                    kind: "product-list";
                    state: "empty" | "ready";
                    heading: string | null;
                    className: string | null;
                    layout: "grid" | "list";
                    columns: string;
                    emptyMessage: string;
                    cards: readonly Readonly<{
                        productId: string;
                        title: string;
                        path: string | null;
                        summary: string | null;
                        priceLabel: string | null;
                        badges: readonly string[];
                        image: Readonly<{
                            url: string;
                            alt: string | null;
                        }> | null;
                        variantOptions: readonly Readonly<{
                            id: string;
                            label: string;
                            soldOut: boolean;
                        }>[];
                        selectedVariantId: string | null;
                        selectionLabel: string;
                        actionLabel: string;
                        soldOut: boolean;
                    }>[];
                }>;
                hydration: Readonly<{
                    products: readonly import("../system/blocks/products/shared").PublicProduct[];
                    showSummary: boolean;
                    showBadges: boolean;
                    showPrices: boolean;
                    addButtonText: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "product-list";
            } & Readonly<{
                display: Readonly<{
                    kind: "product-list";
                    state: "empty" | "ready";
                    heading: string | null;
                    className: string | null;
                    layout: "grid" | "list";
                    columns: string;
                    emptyMessage: string;
                    cards: readonly Readonly<{
                        productId: string;
                        title: string;
                        path: string | null;
                        summary: string | null;
                        priceLabel: string | null;
                        badges: readonly string[];
                        image: Readonly<{
                            url: string;
                            alt: string | null;
                        }> | null;
                        variantOptions: readonly Readonly<{
                            id: string;
                            label: string;
                            soldOut: boolean;
                        }>[];
                        selectedVariantId: string | null;
                        selectionLabel: string;
                        actionLabel: string;
                        soldOut: boolean;
                    }>[];
                }>;
                hydration: Readonly<{
                    products: readonly import("../system/blocks/products/shared").PublicProduct[];
                    showSummary: boolean;
                    showBadges: boolean;
                    showPrices: boolean;
                    addButtonText: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly 'product-detail': Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "product-detail";
            } & Readonly<{
                display: ProductDetailDisplay;
                hydration: Readonly<{
                    products: readonly import("../system/blocks/products/shared").PublicProduct[];
                    productId: string | null;
                    showSummary: boolean;
                    showBadges: boolean;
                    showBody: boolean;
                    addButtonText: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "product-detail";
            } & Readonly<{
                display: ProductDetailDisplay;
                hydration: Readonly<{
                    products: readonly import("../system/blocks/products/shared").PublicProduct[];
                    productId: string | null;
                    showSummary: boolean;
                    showBadges: boolean;
                    showBody: boolean;
                    addButtonText: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly cart: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "cart";
            } & Readonly<{
                display: Readonly<{
                    kind: "cart";
                    state: "empty" | "ready";
                    heading: string | null;
                    className: string | null;
                    emptyMessage: string;
                    supportText: string | null;
                    items: readonly Readonly<{
                        key: string;
                        title: string;
                        priceLabel: string;
                        quantity: number;
                        quantityEditable: boolean;
                    }>[];
                    subtotalLabel: string | null;
                    checkoutButtonText: string;
                    clearButtonText: string;
                }>;
                hydration: Readonly<{
                    emptyStateText: string;
                    checkoutButtonText: string;
                    clearButtonText: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "cart";
            } & Readonly<{
                display: Readonly<{
                    kind: "cart";
                    state: "empty" | "ready";
                    heading: string | null;
                    className: string | null;
                    emptyMessage: string;
                    supportText: string | null;
                    items: readonly Readonly<{
                        key: string;
                        title: string;
                        priceLabel: string;
                        quantity: number;
                        quantityEditable: boolean;
                    }>[];
                    subtotalLabel: string | null;
                    checkoutButtonText: string;
                    clearButtonText: string;
                }>;
                hydration: Readonly<{
                    emptyStateText: string;
                    checkoutButtonText: string;
                    clearButtonText: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly checkout: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "checkout";
            } & Readonly<{
                display: Readonly<{
                    kind: "checkout";
                    state: "empty" | "blocked" | "ready";
                    heading: string | null;
                    className: string | null;
                    message: string | null;
                    submitButtonText: string;
                }>;
                hydration: Readonly<{
                    emptyStateText: string;
                    submitButtonText: string;
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "client-owned";
            render: Readonly<{
                mode: "checkout";
            } & Readonly<{
                display: Readonly<{
                    kind: "checkout";
                    state: "empty" | "blocked" | "ready";
                    heading: string | null;
                    className: string | null;
                    message: string | null;
                    submitButtonText: string;
                }>;
                hydration: Readonly<{
                    emptyStateText: string;
                    submitButtonText: string;
                }>;
            }>>;
        }>>;
    }>;
    readonly shop: Readonly<{
        encode: (value: Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "passes-memberships";
            } & Readonly<{
                display: Readonly<{
                    kind: "passes-memberships";
                    state: "empty" | "ready";
                    className: string | null;
                    layout: "grid" | "list";
                    columns: string;
                    emptyMessage: string;
                    passesHeading: string;
                    membershipsHeading: string;
                    passes: readonly Readonly<{
                        id: string;
                        title: string;
                        description: string | null;
                        priceLabel: string;
                        creditsLabel: string;
                        perCreditLabel: string | null;
                        validityLabel: string | null;
                        actionLabel: string;
                    }>[];
                    memberships: readonly Readonly<{
                        id: string;
                        title: string;
                        description: string | null;
                        priceLabel: string;
                        intervalLabel: string;
                        actionLabel: string;
                    }>[];
                }>;
                hydration: Readonly<{
                    passes: readonly import("..").PublicPassProduct[];
                    memberships: readonly import("..").PublicMembershipProduct[];
                    passPurchaseMode: "add_to_cart" | "buy_now";
                }>;
            }>>;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<Readonly<{
            siteId?: string;
            apiBaseUrl?: string;
            stage?: "preview" | "published";
        }> & {
            renderKind: "progressive";
            render: Readonly<{
                mode: "passes-memberships";
            } & Readonly<{
                display: Readonly<{
                    kind: "passes-memberships";
                    state: "empty" | "ready";
                    className: string | null;
                    layout: "grid" | "list";
                    columns: string;
                    emptyMessage: string;
                    passesHeading: string;
                    membershipsHeading: string;
                    passes: readonly Readonly<{
                        id: string;
                        title: string;
                        description: string | null;
                        priceLabel: string;
                        creditsLabel: string;
                        perCreditLabel: string | null;
                        validityLabel: string | null;
                        actionLabel: string;
                    }>[];
                    memberships: readonly Readonly<{
                        id: string;
                        title: string;
                        description: string | null;
                        priceLabel: string;
                        intervalLabel: string;
                        actionLabel: string;
                    }>[];
                }>;
                hydration: Readonly<{
                    passes: readonly import("..").PublicPassProduct[];
                    memberships: readonly import("..").PublicMembershipProduct[];
                    passPurchaseMode: "add_to_cart" | "buy_now";
                }>;
            }>>;
        }>>;
    }>;
    readonly accordion: Readonly<{
        encode: (value: Readonly<{
            type?: "single" | "multiple";
            defaultValue?: string | readonly string[];
            collapsible?: boolean;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<{
            type?: "single" | "multiple";
            defaultValue?: string | readonly string[];
            collapsible?: boolean;
        }>>;
    }>;
    readonly carousel: Readonly<{
        encode: (value: Readonly<{
            slidesToShow?: number | string | import("../client").ResponsiveSlidesToShow;
            transition?: "slide" | "fade";
            showControls?: boolean | string;
            showDots?: boolean | string;
            arrowVisibility?: "always" | "hover" | "never";
            autoplay?: boolean | string;
            autoplayDelay?: number | string;
            loop?: boolean | string;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<{
            slidesToShow?: number | string | import("../client").ResponsiveSlidesToShow;
            transition?: "slide" | "fade";
            showControls?: boolean | string;
            showDots?: boolean | string;
            arrowVisibility?: "always" | "hover" | "never";
            autoplay?: boolean | string;
            autoplayDelay?: number | string;
            loop?: boolean | string;
        }>>;
    }>;
    readonly headerSection: Readonly<{
        encode: (value: Readonly<{
            enabled?: boolean;
            scrollEnabled?: boolean;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<{
            enabled?: boolean;
            scrollEnabled?: boolean;
        }>>;
    }>;
    readonly 'event-details': Readonly<{
        encode: (value: Readonly<{
            occurrenceContext?: import("./non-block-islands").EventDetailsOccurrenceContext | null;
            contentEntry?: Readonly<{
                id: string;
                slug: string;
                contentTypeSlug: string;
            }> | null;
            events?: readonly import("..").PublicEvent[] | null;
            showVenue?: boolean;
            showMap?: boolean;
            showOtherDates?: boolean;
            otherDatesLimit?: string;
            showCost?: boolean;
            showAcceptedPasses?: boolean;
            showAcceptedMemberships?: boolean;
            sitePasses?: Readonly<{
                passes: readonly import("..").PublicPassProduct[];
            }> | null;
            siteMemberships?: Readonly<{
                memberships: readonly import("..").PublicMembershipProduct[];
            }> | null;
            className?: string | null;
            nowIso?: string;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<{
            occurrenceContext?: import("./non-block-islands").EventDetailsOccurrenceContext | null;
            contentEntry?: Readonly<{
                id: string;
                slug: string;
                contentTypeSlug: string;
            }> | null;
            events?: readonly import("..").PublicEvent[] | null;
            showVenue?: boolean;
            showMap?: boolean;
            showOtherDates?: boolean;
            otherDatesLimit?: string;
            showCost?: boolean;
            showAcceptedPasses?: boolean;
            showAcceptedMemberships?: boolean;
            sitePasses?: Readonly<{
                passes: readonly import("..").PublicPassProduct[];
            }> | null;
            siteMemberships?: Readonly<{
                memberships: readonly import("..").PublicMembershipProduct[];
            }> | null;
            className?: string | null;
            nowIso?: string;
        }>>;
    }>;
    readonly 'location-map': Readonly<{
        encode: (value: Readonly<{
            location?: Readonly<{
                addressText: string | null;
                lat: number | null;
                lng: number | null;
            }> | null;
            zoom?: number | null;
            heightPx?: number | null;
            showAddressText?: boolean;
            showDirections?: boolean;
            directionsLabel?: string | null;
            className?: string | null;
        }>) => unknown;
        decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<{
            location?: Readonly<{
                addressText: string | null;
                lat: number | null;
                lng: number | null;
            }> | null;
            zoom?: number | null;
            heightPx?: number | null;
            showAddressText?: boolean;
            showDirections?: boolean;
            directionsLabel?: string | null;
            className?: string | null;
        }>>;
    }>;
};
export type { BookingFormConfig, BookingFormDisplay, BookingFormHydration, BookingFormInteractiveIslandProps, BookingFormService, CourseRegistrationDisplay, CourseRegistrationHydration, CourseRegistrationInteractiveIslandProps, CartDisplay, CartHydration, CartInteractiveIslandProps, CartLineDisplay, CheckoutDisplay, CheckoutHydration, CheckoutInteractiveIslandProps, EventCalendarDisplay, EventCalendarHydration, EventCalendarInteractiveIslandProps, EventCombinedDisplay, EventCombinedHydration, EventCombinedInteractiveIslandProps, EventRegistrationDisplay, EventRegistrationHydration, EventRegistrationInteractiveIslandProps, EventListingDisplay, EventListingHydration, EventListingInteractiveIslandProps, FormDisplay, FormHydration, FormInteractiveIslandProps, GiftingDisplay, GiftingHydration, GiftingInteractiveIslandProps, MembershipCardDisplay, NewsletterFormDisplay, NewsletterFormHydration, NewsletterFormInteractiveIslandProps, PassCardDisplay, PassesMembershipsDisplay, PassesMembershipsHydration, ProductCardDisplay, ProductDetailDisplay, ProductDetailInteractiveIslandProps, ProductDetailHydration, ProductListDisplay, ProductListInteractiveIslandProps, ProductListHydration, ProductVariantOptionDisplay, ShopInteractiveIslandProps, };
