export { e as BlockOverrideComponent, B as BlockOverrides, L as LoadPageParams, a as LoadPageResult, b as Page, P as PageProps, c as PageRenderer, d as RouteMap, S as SystemBlockComponentProps, T as ThemeTokens, l as loadPage } from './loadPage-BElEkA_J.js';
export { H as HeaderData, L as Layout, a as LayoutProps } from './Layout-CHG77dhK.js';
export { Block, BlockProps } from './rendering/server.js';
export { C as ContentEntryData, L as LoadContentParams, b as LoadContentResult, a as isEntryContent, i as isPageContent, l as loadContent } from './loadContent-BqQ-VPMW.js';
export { C as CustomLinkValue, E as ExternalLinkValue, I as InternalLinkValue, d as LinkValue, c as SiteFooterContent, S as SiteHeaderContent, T as Theme } from './types-5XdVD2J1.js';
export { P as PageOutline } from './schema-Bpy9N5ZI.js';
import { G as GradientConfig, M as Media } from './components-BYxloYJm.js';
export { e as BackgroundInput, B as BodyTextContent, H as HeroContent, a as HeroMedia, f as ResolvedBackground, R as RichText, c as RichTextPrimitiveProps, S as SectionBackground, g as SectionBackgroundProps, T as TipTapNode, b as buildThemeRuntime, d as resolveBackground, r as resolveImageUrl } from './components-BYxloYJm.js';
import './types-CAnC529E.js';
import 'react/jsx-runtime';
import 'react';
import 'zod';
import './types-DSFvXKhO.js';
import './blockKinds-B6MWzNWp.js';
import '@riverbankcms/site-renderer';
import '@riverbankcms/ai';
import '@riverbankcms/media-storage-supabase';
import '@riverbankcms/db';

type BlogPostContent = {
    title?: string | null;
    postSlug?: string | null;
};

type BlogPlaceholderCard = {
    title: string;
    summary: string;
};
type BlogPlaceholderContent = {
    eyebrow?: string | null;
    heading?: string | null;
    description?: string | null;
    cards?: BlogPlaceholderCard[];
    note?: string | null;
};

type BlogListingContent = {
    layout?: "grid" | "stack" | null;
    columns?: "2" | "3" | "4" | null;
    postsPerPage?: "6" | "12" | "24" | "48" | null;
    showImages?: boolean | null;
    showExcerpts?: boolean | null;
    showDates?: boolean | null;
    readMoreText?: string | null;
    readMoreVariant?: "link" | "primary" | "secondary" | "outline" | null;
    emptyMessage?: string | null;
};

type CtaFullContent = {
    eyebrow?: string | null;
    title: string;
    content?: unknown;
    _sectionStyles?: {
        background?: {
            type: 'color' | 'gradient' | 'image';
            color?: string | null;
            gradient?: GradientConfig | null;
            image?: Media | null;
            textColor?: string | null;
        } | null;
        spacing?: string | null;
    } | null;
    ctas?: Array<{
        label?: string | null;
        href?: string | null;
    }>;
};

/**
 * Rich text document structure (ProseMirror format)
 */
type RichTextDoc = {
    type: 'doc';
    content?: Array<{
        type: string;
        content?: Array<{
            type: string;
            text?: string;
            [key: string]: unknown;
        }>;
        [key: string]: unknown;
    }>;
};
type FormBlockContent = {
    title?: string | null;
    intro?: RichTextDoc | null;
    formId: string;
    submitLabel?: string | null;
    successMessage?: string | null;
};

type FaqItem = {
    question: string;
    answer: unknown;
};
type FaqContent = {
    eyebrow?: string | null;
    title?: string | null;
    description?: unknown;
    items?: FaqItem[] | null;
};

type TestimonialsBlockContent = {
    heading?: string | null;
    subheading?: string | null;
    slidesToShow?: number | string | null;
    transition?: 'slide' | 'fade' | null;
    maxEntries?: number | string | null;
    _sectionStyles?: {
        background?: {
            type: 'color' | 'gradient' | 'image';
            color?: string | null;
            gradient?: GradientConfig | null;
            image?: Media | null;
            textColor?: string | null;
        } | null;
        spacing?: string | null;
    } | null;
};
type TestimonialEntryContent = {
    name?: string | null;
    jobTitle?: string | null;
    company?: string | null;
    headshot?: {
        url?: string | null;
        alt?: string | null;
    } | null;
    body?: unknown;
};

type ColumnsContent = {
    gap?: 'sm' | 'md' | 'lg';
    columns: Array<{
        _type: 'card';
        media?: unknown;
        aspectRatio?: '16/9' | '4/3' | '1/1' | '3/4' | 'auto';
        title: string;
        body?: unknown;
        ctas?: Array<unknown>;
        variant?: string;
    } | {
        _type: 'columnContent';
        items: Array<{
            _type: string;
            [key: string]: unknown;
        }>;
    }>;
};

type AppointmentBookingContent = {
    formId: string;
    heading?: string | null;
    description?: unknown;
};

type EventRegistrationContent = {
    heading?: string | null;
    description?: unknown;
    maxTickets?: "1" | "2" | "3" | "5" | "10" | null;
    showVenue?: boolean | null;
    showCapacity?: boolean | null;
    successMessage?: string | null;
    waitlistMessage?: string | null;
    buttonText?: string | null;
    buttonVariant?: "primary" | "secondary" | "outline" | null;
};

type EventCalendarContent = {
    heading?: string | null;
    description?: unknown;
    calendarView?: "month" | "week" | null;
    startOfWeek?: "sunday" | "monday" | null;
    buttonVariant?: "primary" | "secondary" | "outline" | "link" | null;
    emptyMessage?: string | null;
};

export { type AppointmentBookingContent, type BlogListingContent, type BlogPlaceholderContent, type BlogPostContent, type ColumnsContent, type CtaFullContent, type EventCalendarContent, type EventRegistrationContent, type FaqContent, type FormBlockContent, Media, type TestimonialEntryContent, type TestimonialsBlockContent };
