import type { EventCategoryId, VenueId } from '../../../../../core/src/index';
import type { SystemBlockDefinition } from '../../registry';
import { type SectionStylesContent } from '../../fields/boxStyles';
import type { DisplayMode, EventLayout, ColumnOption, WeekStart, FilterAutoShow, CalendarTabViews, ButtonVariant, EventBlockKind, EventScheduleScope, EventSurfacePreset, EventSurfaceScope } from './shared/types';
import { eventCalendarBlockRuntime } from '../../runtime/nodes/events/EventCalendar.interactive';
export declare function normalizeEventCalendarContent(content: unknown): EventCalendarContent;
export declare const eventCalendarManifest: import("../..").DefinedBlockManifest<{
    readonly additionalFields: readonly [{
        readonly id: "displayMode";
        readonly type: "select";
        readonly required: false;
        readonly multiple: false;
        readonly options: readonly [{
            readonly value: "combined";
        }, {
            readonly value: "month";
        }, {
            readonly value: "week";
        }, {
            readonly value: "timetable";
        }, {
            readonly value: "list";
        }];
    }, {
        readonly id: "listLayout";
        readonly type: "select";
        readonly required: false;
        readonly multiple: false;
        readonly options: {
            value: "compact" | "grid" | "stack";
        }[];
    }];
    readonly variants: {
        readonly combined: import("../..").NodeDefinition;
        readonly month: import("../..").NodeDefinition;
        readonly week: import("../..").NodeDefinition;
        readonly timetable: import("../..").NodeDefinition;
        readonly list: import("../..").NodeDefinition;
    };
    readonly skipSectionStyles: true;
}>;
export type EventCalendarContent = {
    heading?: string | null;
    description?: unknown;
    variant?: DisplayMode | null;
    displayMode?: DisplayMode | null;
    listLayout?: EventLayout | null;
    listColumns?: ColumnOption | null;
    layout?: EventLayout | null;
    columns?: ColumnOption | null;
    eventsPerPage?: '6' | '12' | '24' | null;
    compactEventsPerPage?: '10' | '20' | '30' | null;
    loadMoreText?: string | null;
    startOfWeek?: WeekStart | null;
    calendarTabViews?: CalendarTabViews | null;
    showFilters?: boolean | null;
    showCategoryFilter?: FilterAutoShow | null;
    showVenueFilter?: boolean | null;
    showStaffFilter?: boolean | null;
    kind?: EventBlockKind | null;
    eventSurface?: EventSurfaceScope | null;
    filterEventPresets?: readonly EventSurfacePreset[] | null;
    scheduleScope?: EventScheduleScope | null;
    filterCategoryIds?: readonly EventCategoryId[] | null;
    filterStaffMemberId?: string | null;
    filterVenueId?: VenueId | null;
    buttonVariant?: ButtonVariant | null;
    buttonText?: string | null;
    showCapacity?: boolean | null;
    emptyMessage?: string | null;
    _sectionStyles?: SectionStylesContent;
};
export declare const eventCalendarBlockDefinition: SystemBlockDefinition<EventCalendarContent, typeof eventCalendarBlockRuntime>;
