/**
 * Canonical `ContentTypeSchema` values for every built-in content type.
 *
 * Single source of truth (Batch 5 of the FP/type-safety pass). Was
 * previously split:
 *   - schemas in `apps/dashboard/src/lib/content-types/definitions/*.ts`
 *   - `<X>EntryFields` interfaces in `builtins.ts` (hand-mirrored)
 *   - `BUILTIN_CONTENT_TYPE_FIELD_IDS` set map (hand-mirrored)
 *
 * Three places, hand-maintained, drift-detectable only by snapshot tests.
 * Now consolidated here, with `BUILTIN_CONTENT_TYPE_FIELD_IDS` derived
 * from the schemas and the dashboard registry built from these schemas
 * via `buildDescriptor`. Adding a new field to a schema either:
 *   - updates the matching interface (snapshot test fails until done),
 *   - or extends the field set automatically.
 *
 * Every schema is declared `as const satisfies ContentTypeSchema` so
 * literal types are preserved — the field-id derivation can reflect on
 * the precise tuple shape instead of widening to `string`.
 */
export declare const POST_CONTENT_TYPE_SCHEMA: {
    readonly version: 1;
    readonly fields: [{
        readonly id: "image";
        readonly type: "media";
        readonly label: "Featured image";
        readonly description: "Shown in the post hero and previews.";
    }, {
        readonly id: "excerpt";
        readonly type: "textarea";
        readonly label: "Excerpt";
        readonly description: "Short summary shown in listings.";
        readonly rows: 3;
    }, {
        readonly id: "body";
        readonly type: "richText";
        readonly label: "Body";
        readonly description: "Write the full post content. Paragraphs are separated automatically.";
        readonly required: true;
        readonly ui: {
            readonly richTextVariant: "media";
        };
    }];
    readonly routing: {
        readonly enabled: true;
        readonly pattern: "/blog/{slug}";
        readonly slugField: "slug";
        readonly prefix: "/blog/";
    };
    readonly labels: {
        readonly singular: "Blog post";
        readonly plural: "Blog posts";
    };
};
export declare const EVENT_CONTENT_TYPE_SCHEMA: {
    readonly version: 1;
    readonly fields: [{
        readonly id: "summary";
        readonly type: "textarea";
        readonly label: "Summary";
        readonly description: "Short teaser shown in listings.";
        readonly rows: 3;
    }, {
        readonly id: "image";
        readonly type: "media";
        readonly label: "Listing image";
        readonly description: "Optional image used for event cards and previews.";
    }, {
        readonly id: "tags";
        readonly type: "text";
        readonly label: "Tags";
        readonly description: "Comma-separated tags for event listings.";
    }, {
        readonly id: "badges";
        readonly type: "text";
        readonly label: "Badges";
        readonly description: "Comma-separated badges shown on event cards.";
    }, {
        readonly id: "ctaLabel";
        readonly type: "text";
        readonly label: "CTA label";
        readonly description: "Optional call-to-action label for event cards.";
    }, {
        readonly id: "body";
        readonly type: "richText";
        readonly label: "Details";
        readonly description: "Full event details and agenda.";
    }];
    readonly routing: {
        readonly enabled: true;
        readonly pattern: "/events/{slug}";
        readonly slugField: "slug";
        readonly prefix: "/events/";
        readonly subroutes: [{
            readonly kind: "event-occurrence";
            readonly segmentType: "uuid-or-date";
            readonly precedence: "subroute-first";
        }];
    };
    readonly labels: {
        readonly singular: "Event";
        readonly plural: "Events";
    };
};
export declare const COURSE_CONTENT_TYPE_SCHEMA: {
    readonly version: 1;
    readonly fields: [{
        readonly id: "summary";
        readonly type: "textarea";
        readonly label: "Summary";
        readonly description: "Short teaser shown in listings.";
        readonly rows: 3;
    }, {
        readonly id: "image";
        readonly type: "media";
        readonly label: "Listing image";
        readonly description: "Optional image used for course cards and previews.";
    }, {
        readonly id: "tags";
        readonly type: "text";
        readonly label: "Tags";
        readonly description: "Comma-separated tags for course listings.";
    }, {
        readonly id: "badges";
        readonly type: "text";
        readonly label: "Badges";
        readonly description: "Comma-separated badges shown on course cards.";
    }, {
        readonly id: "ctaLabel";
        readonly type: "text";
        readonly label: "CTA label";
        readonly description: "Optional call-to-action label for course cards.";
    }, {
        readonly id: "body";
        readonly type: "richText";
        readonly label: "Details";
        readonly description: "Full course details and curriculum.";
    }];
    readonly routing: {
        readonly enabled: true;
        readonly pattern: "/courses/{slug}";
        readonly slugField: "slug";
        readonly prefix: "/courses/";
        readonly subroutes: [{
            readonly kind: "course-run";
            readonly segmentType: "slug";
            readonly precedence: "content-first";
        }];
    };
    readonly labels: {
        readonly singular: "Course";
        readonly plural: "Courses";
    };
};
export declare const TEAM_MEMBER_CONTENT_TYPE_SCHEMA: {
    readonly version: 1;
    readonly fields: [{
        readonly id: "intro";
        readonly type: "textarea";
        readonly label: "Profile intro";
        readonly description: "A short opening paragraph for the profile page.";
        readonly rows: 3;
        readonly maxLength: 360;
    }, {
        readonly id: "bio";
        readonly type: "richText";
        readonly label: "Profile body";
        readonly description: "Longer profile story, approach, experience, and background.";
    }, {
        readonly id: "credentials";
        readonly type: "textarea";
        readonly label: "Credentials and training";
        readonly description: "Qualifications, training, or experience to highlight on the page.";
        readonly rows: 4;
    }, {
        readonly id: "specialties";
        readonly type: "textarea";
        readonly label: "Specialties and focus areas";
        readonly description: "Areas this team member works with most often.";
        readonly rows: 4;
    }, {
        readonly id: "pullQuote";
        readonly type: "textarea";
        readonly label: "Pull quote";
        readonly description: "Optional quote or short statement to feature on the page.";
        readonly rows: 2;
        readonly maxLength: 240;
    }, {
        readonly id: "ctaLabel";
        readonly type: "text";
        readonly label: "Call-to-action label";
        readonly description: "Optional button label for the profile page.";
        readonly maxLength: 80;
    }, {
        readonly id: "ctaHref";
        readonly type: "url";
        readonly label: "Call-to-action link";
        readonly description: "Optional internal or external link for the profile page button.";
        readonly allowRelative: true;
    }];
    readonly routing: {
        readonly enabled: true;
        readonly pattern: "/team/{slug}";
        readonly slugField: "slug";
        readonly prefix: "/team/";
    };
    readonly labels: {
        readonly singular: "Team member";
        readonly plural: "Team members";
    };
};
export declare const PRODUCT_CONTENT_TYPE_SCHEMA: {
    readonly version: 1;
    readonly fields: [{
        readonly id: "summary";
        readonly type: "textarea";
        readonly label: "Summary";
        readonly description: "Short teaser shown in listings.";
        readonly rows: 3;
    }, {
        readonly id: "gallery";
        readonly type: "media";
        readonly label: "Listing image";
        readonly description: "Optional image used for product cards and previews.";
    }, {
        readonly id: "badges";
        readonly type: "text";
        readonly label: "Badges";
        readonly description: "Comma-separated badges shown on product cards.";
    }, {
        readonly id: "ctaLabel";
        readonly type: "text";
        readonly label: "CTA label";
        readonly description: "Optional call-to-action label for product cards.";
    }, {
        readonly id: "body";
        readonly type: "richText";
        readonly label: "Details";
        readonly description: "Full product details and buying notes.";
    }];
    readonly routing: {
        readonly enabled: true;
        readonly pattern: "/products/{slug}";
        readonly slugField: "slug";
        readonly prefix: "/products/";
    };
    readonly labels: {
        readonly singular: "Product";
        readonly plural: "Products";
    };
};
export declare const TESTIMONIAL_CONTENT_TYPE_SCHEMA: {
    readonly version: 1;
    readonly fields: [{
        readonly id: "name";
        readonly type: "text";
        readonly label: "Name";
        readonly description: "Who provided this testimonial?";
        readonly required: true;
        readonly maxLength: 120;
    }, {
        readonly id: "jobTitle";
        readonly type: "text";
        readonly label: "Job title";
        readonly description: "Optional title or role for the person.";
        readonly maxLength: 120;
    }, {
        readonly id: "company";
        readonly type: "text";
        readonly label: "Company";
        readonly description: "Optional company or organisation.";
        readonly maxLength: 120;
    }, {
        readonly id: "headshot";
        readonly type: "media";
        readonly label: "Headshot";
        readonly description: "Optional portrait or logo for this testimonial.";
        readonly mediaKinds: ["image"];
    }, {
        readonly id: "body";
        readonly type: "richText";
        readonly label: "Testimonial";
        readonly description: "Full testimonial text.";
        readonly required: true;
        readonly ui: {
            readonly richTextVariant: "limited";
        };
    }];
    readonly routing: {
        readonly enabled: false;
    };
    readonly titleField: "name";
    readonly labels: {
        readonly singular: "Testimonial";
        readonly plural: "Testimonials";
    };
};
export declare const PAGE_CONTENT_TYPE_SCHEMA: {
    readonly version: 1;
    readonly fields: [];
    readonly routing: {
        readonly enabled: true;
        readonly pattern: "/{slug}";
        readonly slugField: "slug";
        readonly prefix: "/";
    };
    readonly labels: {
        readonly singular: "Page";
        readonly plural: "Pages";
    };
};
export declare const PRODUCT_CATEGORY_CONTENT_TYPE_SCHEMA: {
    readonly version: 1;
    readonly fields: [{
        readonly id: "summary";
        readonly type: "textarea";
        readonly label: "Summary";
        readonly description: "Short teaser shown above category product lists.";
        readonly rows: 3;
    }, {
        readonly id: "heroImage";
        readonly type: "media";
        readonly label: "Hero image";
        readonly description: "Optional category landing page image.";
    }, {
        readonly id: "body";
        readonly type: "richText";
        readonly label: "Body";
        readonly description: "Long-form category landing page content.";
    }];
    readonly routing: {
        readonly enabled: true;
        readonly pattern: "/shop/{slug}";
        readonly slugField: "slug";
        readonly prefix: "/shop/";
    };
    readonly labels: {
        readonly singular: "Product category";
        readonly plural: "Product categories";
    };
};
