/**
 * One-line collection factories for the content types nearly every marketing
 * site needs: blog posts, case studies, portfolio items, services, locations,
 * team members, FAQs, and testimonials.
 *
 * Each factory returns a complete `CollectionDefinition` with sensible
 * fields, admin defaults, SEO config (defaultSchemaType, archivePath, etc.),
 * and a suggested page-builder template name. Call sites can override or
 * extend any property after the fact:
 *
 * ```ts
 * import { blogPostCollection, locationCollection } from
 *   '@actuate-media/cms-core'
 *
 * defineConfig({
 *   collections: {
 *     posts: blogPostCollection({
 *       fields: {
 *         ...blogPostCollection().fields,
 *         category: { type: 'select', label: 'Category', options: [...] },
 *       },
 *     }),
 *     locations: locationCollection(),
 *   },
 * })
 * ```
 *
 * Every preset also stamps a `pageBuilderTemplate` hint on the collection's
 * `admin.description` so the admin's "Create new" flow can suggest the right
 * page-builder template (see {@link getTemplatesForCollection}).
 */
import type { CollectionDefinition } from '../config/types.js';
/**
 * Options shared by every collection preset. Overrides are merged with the
 * preset's defaults — for example, passing `urlPrefix: ''` makes a preset
 * collection render at site root instead of under its default prefix.
 */
export interface CollectionPresetOverrides extends Partial<CollectionDefinition> {
    /** Extra fields to merge after the preset's defaults. */
    extraFields?: Record<string, CollectionDefinition['fields'][string]>;
}
/** Long-form blog post collection. Renders as `/blog/:slug`, Schema.org BlogPosting. */
export declare function blogPostCollection(overrides?: CollectionPresetOverrides): CollectionDefinition;
/** Customer / project case study collection. Renders as `/case-studies/:slug`. */
export declare function caseStudyCollection(overrides?: CollectionPresetOverrides): CollectionDefinition;
/** Portfolio / project gallery collection. Renders as `/work/:slug`. */
export declare function portfolioCollection(overrides?: CollectionPresetOverrides): CollectionDefinition;
/** Service offering collection. Renders as `/services/:slug`, Schema.org Service. */
export declare function serviceCollection(overrides?: CollectionPresetOverrides): CollectionDefinition;
/** Physical location / service-area collection. Schema.org LocalBusiness. */
export declare function locationCollection(overrides?: CollectionPresetOverrides): CollectionDefinition;
/** Team member / author profile collection. Schema.org Person. */
export declare function teamMemberCollection(overrides?: CollectionPresetOverrides): CollectionDefinition;
/** Frequently asked question entries — composed into FAQPage schema. */
export declare function faqCollection(overrides?: CollectionPresetOverrides): CollectionDefinition;
/** Customer testimonial / review collection. Schema.org Review. */
export declare function testimonialCollection(overrides?: CollectionPresetOverrides): CollectionDefinition;
/**
 * Maps a collection slug → the suggested built-in page-builder template ID
 * (registered in `@actuate-media/cms-core` `BUILT_IN_TEMPLATES`).
 *
 * The admin "Create new" picker can call this to suggest a starter template
 * matching the post type without forcing users to choose blindly. Returns
 * `null` when no template is appropriate (e.g. testimonials, FAQs — these are
 * rendered as fragments, not standalone pages).
 */
export declare function getTemplatesForCollection(collectionSlug: string): {
    primary: string | null;
    alternates: string[];
};
//# sourceMappingURL=presets.d.ts.map