import type { SystemBlockDefinition } from "../../registry";
import { type SectionStylesContent } from "../../fields/boxStyles";
import { type BlockConfig, type DefinedBlockManifest } from "../../defineBlock";
import { eventListingBlockRuntime } from "../../runtime/nodes/events/EventListing.interactive";
import type { EventBlockKind, EventScheduleScope, EventSurfacePreset, EventSurfaceScope } from "./shared/types";
/**
 * Event Listing Block
 *
 * Displays a paginated list of events with a "load more" button.
 * Ideal for dedicated events pages showing all upcoming events.
 *
 * Features:
 * - Server-side initial load
 * - Client-side "load more" pagination
 * - Grid or stack layout
 * - Configurable initial load and page sizes
 * - Theme-aware card and button styling
 */
export declare const eventListingManifest: DefinedBlockManifest<BlockConfig>;
export type EventListingContent = {
    heading?: string | null;
    description?: unknown;
    layout?: "grid" | "stack" | null;
    columns?: "2" | "3" | "4" | null;
    eventsPerPage?: "3" | "6" | "12" | "24" | null;
    paginationMode?: "loadMore" | "seeAllLink" | null;
    seeAllUrl?: string | null;
    loadMoreText?: string | null;
    cardVariant?: "default" | "variant1" | "variant2" | null;
    buttonVariant?: "primary" | "secondary" | "outline" | "link" | null;
    buttonText?: string | null;
    showVenue?: boolean | null;
    showMap?: boolean | null;
    showCapacity?: boolean | null;
    kind?: EventBlockKind | null;
    eventSurface?: EventSurfaceScope | null;
    filterEventPresets?: readonly EventSurfacePreset[] | null;
    scheduleScope?: EventScheduleScope | null;
    emptyMessage?: string | null;
    _sectionStyles?: SectionStylesContent;
};
export declare const eventListingBlockDefinition: SystemBlockDefinition<EventListingContent, typeof eventListingBlockRuntime>;
