import { Theme } from '../themes/index.js';
export { B as BlogPost, c as BlogPostAuthor, a as BlogPostParams, b as BlogPostResponse, d as BlogPostTag } from '../blog-post-CMvVQiok.js';
export { C as CompanyInformation, a as CompanyInformationResponse } from '../company-information-DNSi10Q_.js';
import { a as PhotoAttachment } from '../form-yge25wqW.js';
export { F as FormDefinition, b as FormFieldDefinition, c as FormFieldItem, d as FormType, P as Photo } from '../form-yge25wqW.js';
export { a as WebsitePhoto, W as WebsitePhotos, b as WebsitePhotosResponse } from '../website-photos-_n2g24IM.js';

interface NavItem {
    label: string;
    href: string;
    subtitle?: string;
    children?: NavItem[];
}
interface SiteConfig {
    site: {
        title: string;
        description: string;
        theme: Theme;
    };
    navigation: {
        header: NavItem[];
        footer: NavItem[][];
    };
}

interface Service {
    id: number;
    name: string;
    slug: string;
    description_markdown: string;
    summary?: string;
    pricing_info?: string;
    features_markdown?: string;
    featured: boolean;
    sort_order: number;
    photo_attachments?: Array<{
        id: number;
        featured: boolean;
        attachable_id?: number;
        attachable_type?: string;
        photo?: {
            id: number;
            title: string;
            thumbnail_url?: string;
            medium_url?: string;
            large_url?: string;
            original_url?: string;
        };
    }>;
    created_at: string;
    updated_at: string;
}
interface ServiceParams {
    featured?: boolean;
    q?: string;
    page?: number;
    per_page?: number;
}
type ServiceResponse = Service[];

interface Testimonial {
    id: number;
    reviewer_name: string;
    reviewer_title?: string;
    company?: string;
    rating?: number;
    content_markdown: string;
    source?: string;
    source_url?: string;
    featured: boolean;
    reviewed_at: string;
    created_at: string;
    updated_at: string;
    photo_attachments?: PhotoAttachment[];
}
interface TestimonialParams {
    source?: string;
    rating?: number;
    verified?: boolean;
    featured?: boolean;
    page?: number;
    per_page?: number;
}
type TestimonialResponse = Testimonial[];

interface TeamMember {
    id: number;
    name: string;
    position: string;
    bio_markdown: string;
    experience_markdown: string;
    email: string;
    phone: string;
    sort_order: number;
    featured: boolean;
    specialties_markdown: string;
    education_markdown: string;
    certifications_markdown: string;
    linkedin_url: string;
    twitter_url: string;
    photo_attachments?: PhotoAttachment[];
}
interface TeamMemberParams {
    featured?: boolean;
    sort_order?: number;
    page?: number;
    per_page?: number;
}
type TeamMemberResponse = TeamMember[];

interface Location {
    id: number;
    name: string;
    slug: string;
    address_line_1: string;
    address_line_2?: string;
    city: string;
    state: string;
    zip_code: string;
    country?: string;
    latitude?: number;
    longitude?: number;
    phone?: string;
    email?: string;
    description_markdown?: string;
    business_hours?: string;
    is_primary: boolean;
    active: boolean;
    sort_order: number;
    created_at: string;
    updated_at: string;
    photo_attachments?: PhotoAttachment[];
}
interface LocationParams {
    active?: boolean;
    is_primary?: boolean;
    sort_order?: number;
    page?: number;
    per_page?: number;
}
type LocationResponse = Location[];

interface SocialPost {
    id: number;
    platform: string;
    content_markdown: string;
    posted_at: string;
    status?: string;
    created_at: string;
    updated_at: string;
    /** Image URLs from photo_attachments (preferred for display) */
    image_urls?: string[];
    /** Photo attachments (same pattern as blog post, team member, etc.) */
    photo_attachments?: PhotoAttachment[];
    /** Legacy; prefer image_urls / photo_attachments */
    media_urls?: {
        images?: string[];
        videos?: string[];
    };
    engagement_metrics?: {
        likes?: number;
        comments?: number;
        shares?: number;
        views?: number;
    };
    /** Permalink to the post on the platform when available; only link when present to avoid broken links */
    external_post_url?: string | null;
}
interface SocialPostParams {
    platform?: string;
    featured?: boolean;
    page?: number;
    per_page?: number;
}
type SocialPostResponse = SocialPost[];

interface FaqQuestion {
    id: number;
    question: string;
    answer: string;
    answer_markdown?: string;
    category_slug?: string;
    featured: boolean;
    sort_order: number;
    created_at: string;
    updated_at: string;
    photo_attachments?: PhotoAttachment[];
}
interface FaqCategory {
    id: number;
    name: string;
    slug: string;
    description?: string;
    active: boolean;
    sort_order: number;
    questions_count: number;
}
interface FaqParams {
    category_slug?: string;
    featured?: boolean;
    q?: string;
    page?: number;
    per_page?: number;
}
type FaqResponse = FaqQuestion[];
type FaqCategoryResponse = FaqCategory[];

interface JobPosting {
    id: number;
    title: string;
    slug: string;
    description_markdown: string;
    requirements_markdown?: string;
    benefits_markdown?: string;
    employment_type: string;
    location: string;
    experience_level?: string;
    remote_ok?: boolean;
    salary_range?: string;
    posted_at: string;
    expires_at?: string;
    status: 'active' | 'inactive' | 'expired';
    featured: boolean;
    created_at: string;
    updated_at: string;
    photo_attachments?: PhotoAttachment[];
}
interface JobPostingParams {
    featured?: boolean;
    employment_type?: string;
    location?: string;
    q?: string;
    page?: number;
    per_page?: number;
}
type JobPostingResponse = JobPosting[];

interface ContactInfo {
    id?: number;
    about_text_markdown?: string;
    business_hours?: Record<string, {
        open: string;
        close: string;
    }>;
    company_name?: string;
    description_markdown?: string;
    facebook_url?: string;
    favicon_url?: string;
    founded_year?: string;
    google_my_business_url?: string;
    google_reviews_url?: string;
    instagram_url?: string;
    linkedin_url?: string;
    mission_statement_markdown?: string;
    pinterest_url?: string;
    primary_address_line_1?: string;
    primary_address_line_2?: string;
    primary_city?: string;
    primary_country?: string;
    primary_email?: string;
    primary_phone?: string;
    primary_state?: string;
    primary_zip_code?: string;
    sales_email?: string;
    stats_markdown?: string;
    support_email?: string;
    tagline?: string;
    tiktok_url?: string;
    tripadvisor_url?: string;
    twitter_url?: string;
    values_markdown?: string;
    yelp_url?: string;
    youtube_url?: string;
    photo_attachments?: PhotoAttachment[];
}
interface ContactFormSubmission {
    id: number;
    name: string;
    email: string;
    phone?: string;
    message: string;
    source: string;
    created_at: string;
}
interface ContactFormData {
    name: string;
    email: string;
    phone?: string;
    message: string;
    source?: string;
}
type ContactResponse = ContactInfo | null;
interface ContactFormResponse {
    message: string;
    data: ContactFormSubmission;
}

export { type ContactFormData, type ContactFormResponse, type ContactFormSubmission, type ContactInfo, type ContactResponse, type FaqCategory, type FaqCategoryResponse, type FaqParams, type FaqQuestion, type FaqResponse, type JobPosting, type JobPostingParams, type JobPostingResponse, type Location, type LocationParams, type LocationResponse, type NavItem, PhotoAttachment, type Service, type ServiceParams, type ServiceResponse, type SiteConfig, type SocialPost, type SocialPostParams, type SocialPostResponse, type TeamMember, type TeamMemberParams, type TeamMemberResponse, type Testimonial, type TestimonialParams, type TestimonialResponse, Theme };
