import type { ResponsiveSlidesToShow } from '../system/runtime/nodes/carousel.shared';
import type { PublicMembershipProduct, PublicPassProduct } from '../system/blocks/shop.shared';
import type { PublicEvent } from '../system/blocks/events/shared/types';
import type { OccurrenceContextLike } from '../system/runtime/nodes/event-details/logic';
import type { LocationMapHydrationProps } from '../system/runtime/nodes/location-map.shared';
export type AccordionIslandProps = Readonly<{
    type?: 'single' | 'multiple';
    defaultValue?: string | readonly string[];
    collapsible?: boolean;
}>;
export type HeaderSectionIslandProps = Readonly<{
    enabled?: boolean;
    scrollEnabled?: boolean;
}>;
export type CarouselIslandProps = Readonly<{
    slidesToShow?: number | string | ResponsiveSlidesToShow;
    transition?: 'slide' | 'fade';
    showControls?: boolean | string;
    showDots?: boolean | string;
    arrowVisibility?: 'always' | 'hover' | 'never';
    autoplay?: boolean | string;
    autoplayDelay?: number | string;
    loop?: boolean | string;
}>;
export type EventDetailsContentEntry = Readonly<{
    id: string;
    slug: string;
    contentTypeSlug: string;
}>;
export type EventDetailsOccurrenceContext = NonNullable<OccurrenceContextLike>;
export type EventDetailsIslandProps = Readonly<{
    occurrenceContext?: EventDetailsOccurrenceContext | null;
    contentEntry?: EventDetailsContentEntry | null;
    events?: readonly PublicEvent[] | null;
    showVenue?: boolean;
    showMap?: boolean;
    showOtherDates?: boolean;
    otherDatesLimit?: string;
    showCost?: boolean;
    showAcceptedPasses?: boolean;
    showAcceptedMemberships?: boolean;
    sitePasses?: Readonly<{
        passes: readonly PublicPassProduct[];
    }> | null;
    siteMemberships?: Readonly<{
        memberships: readonly PublicMembershipProduct[];
    }> | null;
    className?: string | null;
    nowIso?: string;
}>;
export type LocationMapIslandProps = LocationMapHydrationProps;
export declare const accordionIslandPropsCodec: 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;
    }>>;
}>;
export declare const headerSectionIslandPropsCodec: Readonly<{
    encode: (value: Readonly<{
        enabled?: boolean;
        scrollEnabled?: boolean;
    }>) => unknown;
    decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<{
        enabled?: boolean;
        scrollEnabled?: boolean;
    }>>;
}>;
export declare const carouselIslandPropsCodec: Readonly<{
    encode: (value: Readonly<{
        slidesToShow?: number | string | 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 | ResponsiveSlidesToShow;
        transition?: "slide" | "fade";
        showControls?: boolean | string;
        showDots?: boolean | string;
        arrowVisibility?: "always" | "hover" | "never";
        autoplay?: boolean | string;
        autoplayDelay?: number | string;
        loop?: boolean | string;
    }>>;
}>;
export declare const eventDetailsIslandPropsCodec: Readonly<{
    encode: (value: Readonly<{
        occurrenceContext?: EventDetailsOccurrenceContext | null;
        contentEntry?: Readonly<{
            id: string;
            slug: string;
            contentTypeSlug: string;
        }> | null;
        events?: readonly PublicEvent[] | null;
        showVenue?: boolean;
        showMap?: boolean;
        showOtherDates?: boolean;
        otherDatesLimit?: string;
        showCost?: boolean;
        showAcceptedPasses?: boolean;
        showAcceptedMemberships?: boolean;
        sitePasses?: Readonly<{
            passes: readonly PublicPassProduct[];
        }> | null;
        siteMemberships?: Readonly<{
            memberships: readonly PublicMembershipProduct[];
        }> | null;
        className?: string | null;
        nowIso?: string;
    }>) => unknown;
    decode: (input: unknown) => import("./runtime").DecodeResult<Readonly<{
        occurrenceContext?: EventDetailsOccurrenceContext | null;
        contentEntry?: Readonly<{
            id: string;
            slug: string;
            contentTypeSlug: string;
        }> | null;
        events?: readonly PublicEvent[] | null;
        showVenue?: boolean;
        showMap?: boolean;
        showOtherDates?: boolean;
        otherDatesLimit?: string;
        showCost?: boolean;
        showAcceptedPasses?: boolean;
        showAcceptedMemberships?: boolean;
        sitePasses?: Readonly<{
            passes: readonly PublicPassProduct[];
        }> | null;
        siteMemberships?: Readonly<{
            memberships: readonly PublicMembershipProduct[];
        }> | null;
        className?: string | null;
        nowIso?: string;
    }>>;
}>;
export declare const locationMapIslandPropsCodec: 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;
    }>>;
}>;
