import type { SystemBlockDefinition } from "../registry";
import type { SectionStylesContent } from "../fields/boxStyles";
/**
 * Course Details Block
 *
 * Displays logistics for a course:
 * - Sessions (date/time list)
 * - Venue
 * - Price + capacity + enrollment status
 *
 * Intended for use on course templates, but can also be placed on standalone pages.
 */
export declare const courseDetailsManifest: import("..").DefinedBlockManifest<{
    readonly id: "block.course-details";
    readonly version: "1.0.0";
    readonly title: "Course Details";
    readonly titleSource: "heading";
    readonly description: "Schedule, venue, price, and enrollment status for a course";
    readonly category: "content";
    readonly tags: readonly ["courses", "schedule", "sessions", "venue", "pricing"];
    readonly icon: "GraduationCap";
    readonly styleTokens: {
        readonly background: "surface";
        readonly typography: "body";
        readonly spacing: "md";
    };
    readonly behaviours: {
        readonly supportsThemeSwitching: true;
        readonly inlineEditing: false;
        readonly animation: false;
        readonly paletteHidden: false;
    };
    readonly additionalFields: readonly [{
        readonly id: "heading";
        readonly type: "text";
        readonly label: "Heading";
        readonly description: "Optional heading shown above course details";
        readonly required: false;
        readonly multiline: false;
        readonly defaultValue: "Course details";
    }, {
        readonly id: "courseSlug";
        readonly type: "text";
        readonly label: "Course slug (optional)";
        readonly description: "Select a course by slug when not used on a course template route";
        readonly required: false;
        readonly multiline: false;
        readonly ui: {
            readonly intent: "behavior";
        };
    }, {
        readonly id: "showTitle";
        readonly type: "boolean";
        readonly label: "Show course title";
        readonly required: false;
        readonly defaultValue: false;
        readonly ui: {
            readonly intent: "display";
        };
    }, {
        readonly id: "showDescription";
        readonly type: "boolean";
        readonly label: "Show course description";
        readonly description: "Render the course description from the bookings course record";
        readonly required: false;
        readonly defaultValue: false;
        readonly ui: {
            readonly intent: "display";
        };
    }, {
        readonly id: "showSessions";
        readonly type: "boolean";
        readonly label: "Show sessions";
        readonly required: false;
        readonly defaultValue: true;
        readonly ui: {
            readonly intent: "display";
        };
    }, {
        readonly id: "sessionsLimit";
        readonly type: "select";
        readonly label: "Sessions limit";
        readonly required: false;
        readonly multiple: false;
        readonly defaultValue: "10";
        readonly options: [{
            readonly value: "3";
            readonly label: "3 sessions";
        }, {
            readonly value: "5";
            readonly label: "5 sessions";
        }, {
            readonly value: "10";
            readonly label: "10 sessions";
        }, {
            readonly value: "all";
            readonly label: "All sessions";
        }];
        readonly ui: {
            readonly intent: "display";
        };
    }, {
        readonly id: "showVenue";
        readonly type: "boolean";
        readonly label: "Show venue";
        readonly required: false;
        readonly defaultValue: true;
        readonly ui: {
            readonly intent: "display";
        };
    }, {
        readonly id: "showPrice";
        readonly type: "boolean";
        readonly label: "Show price";
        readonly required: false;
        readonly defaultValue: true;
        readonly ui: {
            readonly intent: "display";
        };
    }, {
        readonly id: "showCapacity";
        readonly type: "boolean";
        readonly label: "Show capacity";
        readonly required: false;
        readonly defaultValue: true;
        readonly ui: {
            readonly intent: "display";
        };
    }, {
        readonly id: "showEnrollmentStatus";
        readonly type: "boolean";
        readonly label: "Show enrollment status";
        readonly required: false;
        readonly defaultValue: true;
        readonly ui: {
            readonly intent: "display";
        };
    }, {
        readonly id: "showMembershipNote";
        readonly type: "boolean";
        readonly label: "Show membership note";
        readonly description: "Indicate when memberships can be used for free enrollment";
        readonly required: false;
        readonly defaultValue: true;
        readonly ui: {
            readonly intent: "display";
        };
    }];
    readonly layout: readonly [import("..").NodeDefinition];
}>;
export type CourseDetailsContent = {
    heading?: string | null;
    courseSlug?: string | null;
    showTitle?: boolean | null;
    showDescription?: boolean | null;
    showSessions?: boolean | null;
    sessionsLimit?: "3" | "5" | "10" | "all" | null;
    showVenue?: boolean | null;
    showPrice?: boolean | null;
    showCapacity?: boolean | null;
    showEnrollmentStatus?: boolean | null;
    showMembershipNote?: boolean | null;
    _sectionStyles?: SectionStylesContent;
};
export declare const courseDetailsBlockDefinition: SystemBlockDefinition<CourseDetailsContent>;
