/**
 * Public SDK page/route contracts.
 *
 * Keep these types structurally compatible with the API responses.
 */
export type BlockOutline = {
    id: string | null;
    kind: string;
    purpose: string;
    content?: Record<string, unknown>;
    draftContent?: Record<string, unknown> | null;
    bindings?: Record<string, unknown>;
    [key: string]: unknown;
};
export type PageOutline = {
    name: string;
    path: string;
    purpose: string;
    blocks: BlockOutline[];
};
export type RouteMapEntry = string | {
    path?: string | null;
    href?: string | null;
    url?: string | null;
    draftPath?: string | null;
    [key: string]: unknown;
};
export type RouteMap = Record<string, RouteMapEntry>;
export type OccurrenceContextData = {
    id: string;
    seriesId: string;
    startsAt: string;
    endsAt: string;
    timeZone: string;
    capacityOverride?: number | null;
    overrides?: Record<string, unknown> | null;
};
export type EntrySubrouteContextData = {
    kind: 'event-occurrence';
    occurrence: OccurrenceContextData;
} | {
    kind: 'course-run';
    run: {
        courseId: string;
        seriesId: string;
        runSlug: string;
        runName: string | null;
    };
};
