import { z } from "zod";
import type { NodeDefinition } from "../node";
import type { SystemBlockDefinition } from "../registry";
export declare const blogPostManifest: import("..").DefinedBlockManifest<{
    readonly id: "block.blog-post";
    readonly version: "0.1.0";
    readonly title: "Blog post";
    readonly description: "Highlights a single blog post with title, image, and excerpt.";
    readonly category: "blog";
    readonly contentTypes: readonly ["post"];
    readonly tags: readonly ["blog", "post", "featured", "highlight", "article", "single"];
    readonly icon: "FileText";
    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: import("..").FieldDefinition[];
    readonly layout: NodeDefinition;
}>;
export type BlogPostContent = {
    title?: string | null;
    postSlug?: string | null;
};
export declare const blogPostDataSchema: z.ZodObject<{
    id: z.ZodString;
    title: z.ZodString;
    slug: z.ZodString;
    path: z.ZodString;
    excerpt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
    image: z.ZodOptional<z.ZodNullable<z.ZodObject<{
        url: z.ZodNullable<z.ZodOptional<z.ZodString>>;
        alt: z.ZodNullable<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>>;
    publishedAt: z.ZodOptional<z.ZodNullable<z.ZodString>>;
}, z.core.$strip>;
export type BlogPostData = z.infer<typeof blogPostDataSchema>;
export declare const blogPostBlockDefinition: SystemBlockDefinition<BlogPostContent>;
