import type { LinkValue } from "../../types/link";
import type { SystemBlockDefinition } from "../../registry";
import type { NodeDefinition } from "../../node";
import { type SectionStylesContent } from "../../fields/boxStyles";
import { type BlockConfig, type BlockContentShapeInput, type DefinedBlockManifest } from "../../defineBlock";
/**
 * Event Spotlight Block
 *
 * Displays a simple list of 1-6 featured upcoming events.
 * Ideal for homepages or landing pages to highlight upcoming events.
 *
 * Features:
 * - Server-side only (static, no interactivity)
 * - Grid or stack layout
 * - Configurable event count (1-6)
 * - Theme-aware card and button styling
 */
declare const eventSpotlightFields: NonNullable<BlockConfig['additionalFields']>;
declare const eventSpotlightLayout: readonly NodeDefinition[];
type EventSpotlightConfig = Omit<BlockConfig, "additionalFields" | "layout" | "skipSectionStyles"> & {
    readonly skipSectionStyles: true;
    readonly additionalFields: typeof eventSpotlightFields;
    readonly layout: typeof eventSpotlightLayout;
};
declare const eventSpotlightConfig: EventSpotlightConfig;
export declare const eventSpotlightManifest: DefinedBlockManifest<BlockContentShapeInput<typeof eventSpotlightConfig>>;
export type EventSpotlightContent = {
    heading?: string | null;
    description?: unknown;
    maxEvents?: "1" | "2" | "3" | "4" | "5" | "6" | null;
    ctaLabel?: string | null;
    ctaUrl?: LinkValue | string | null;
    layout?: "grid" | "stack" | null;
    columns?: "2" | "3" | null;
    cardVariant?: "default" | "variant1" | "variant2" | null;
    buttonVariant?: "primary" | "secondary" | "outline" | "link" | null;
    buttonText?: string | null;
    showVenue?: boolean | null;
    showMap?: boolean | null;
    showCapacity?: boolean | null;
    emptyMessage?: string | null;
    _sectionStyles?: SectionStylesContent;
};
export declare const eventSpotlightBlockDefinition: SystemBlockDefinition<EventSpotlightContent>;
export {};
