import type { SystemBlockDefinition } from "../registry";
import type { SectionStylesContent } from "../fields/boxStyles";
import { newsletterFormBlockRuntime } from "../runtime/nodes/newsletter-form.interactive";
export declare const newsletterSignupManifest: import("..").DefinedBlockManifest<{
    readonly id: "block.newsletter-signup";
    readonly title: "Newsletter Signup";
    readonly titleSource: "title";
    readonly description: "Newsletter subscription form with configurable field presets.";
    readonly category: "interactive";
    readonly fragments: readonly [{
        readonly fragment: import("..").DefinedFragment<{
            readonly id: "newsletterCopy";
            readonly title: "Newsletter Copy";
            readonly description: "Optional title and description for newsletter signup blocks.";
            readonly fields: readonly [{
                readonly id: "title";
                readonly type: "text";
                readonly label: "Title";
                readonly defaultValue: "Subscribe to our newsletter";
            }, {
                readonly id: "subtitle";
                readonly type: "richText";
                readonly label: "Subtitle";
                readonly description: "Optional description below the title.";
            }];
            readonly layout: readonly [import("..").NodeDefinition, import("..").NodeDefinition];
        }>;
        readonly fieldPriority: 0;
    }, {
        readonly fragment: import("..").DefinedFragment<{
            readonly id: "newsletterForm";
            readonly title: "Newsletter Form";
            readonly description: "Newsletter subscription form with preset field configurations.";
            readonly fields: readonly [{
                readonly id: "listId";
                readonly type: "reference";
                readonly label: "Newsletter list";
                readonly description: "Select the list new subscribers should be added to.";
                readonly required: true;
                readonly referenceKind: "newsletterList";
                readonly allowManualEntry: false;
                readonly ui: {
                    readonly intent: "behavior";
                };
            }, {
                readonly id: "preset";
                readonly type: "select";
                readonly label: "Form fields";
                readonly description: "Choose which fields to collect.";
                readonly defaultValue: "emailOnly";
                readonly ui: {
                    readonly intent: "display";
                };
                readonly options: [{
                    readonly value: "emailOnly";
                    readonly label: "Email only";
                }, {
                    readonly value: "emailName";
                    readonly label: "Email + Name";
                }, {
                    readonly value: "emailFirstLast";
                    readonly label: "Email + First/Last Name";
                }, {
                    readonly value: "emailNameCompany";
                    readonly label: "Email + Name + Company (B2B)";
                }];
            }, {
                readonly id: "includePhone";
                readonly type: "boolean";
                readonly label: "Include phone field (optional)";
                readonly description: "Adds an optional phone field to the selected preset (never required).";
                readonly defaultValue: false;
                readonly ui: {
                    readonly intent: "display";
                };
            }, {
                readonly id: "buttonLabel";
                readonly type: "text";
                readonly label: "Button label";
                readonly defaultValue: "Subscribe";
            }, {
                readonly id: "successMessage";
                readonly type: "text";
                readonly label: "Success message";
                readonly description: "Shown after successful subscription.";
                readonly defaultValue: "Thanks for subscribing!";
            }, {
                readonly id: "privacyNote";
                readonly type: "text";
                readonly label: "Privacy note";
                readonly description: "Optional small text below the form (e.g., privacy policy link).";
            }, {
                readonly id: "tags";
                readonly type: "text";
                readonly label: "Tags (optional)";
                readonly description: "Optional tags to apply on subscribe (comma or semicolon separated).";
            }];
            readonly layout: readonly [import("..").NodeDefinition];
        }>;
        readonly fieldPriority: 1;
    }];
    readonly layout: import("..").NodeDefinition;
    readonly variants: {
        readonly stacked: import("..").NodeDefinition;
        readonly inline: import("..").NodeDefinition;
    };
    readonly defaultVariant: "stacked";
    readonly variantOptions: {
        readonly stacked: {
            readonly label: "Stacked";
            readonly description: "Vertical layout with fields stacked";
        };
        readonly inline: {
            readonly label: "Inline";
            readonly description: "Horizontal layout (email + button side by side)";
        };
    };
    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 tags: readonly ["newsletter", "signup", "email", "subscribe", "subscription", "mailchimp", "marketing", "lead-capture"];
    readonly icon: "Mail";
}>;
/**
 * Rich text document structure (ProseMirror format)
 */
type NewsletterRichTextDoc = {
    type: 'doc';
    content?: Array<{
        type: string;
        content?: Array<{
            type: string;
            text?: string;
            [key: string]: unknown;
        }>;
        [key: string]: unknown;
    }>;
};
export type NewsletterSignupPreset = 'emailOnly' | 'emailName' | 'emailFirstLast' | 'emailNameCompany';
export type NewsletterSignupContent = {
    title?: string | null;
    subtitle?: NewsletterRichTextDoc | null;
    preset: NewsletterSignupPreset;
    buttonLabel?: string | null;
    successMessage?: string | null;
    privacyNote?: string | null;
    _sectionStyles?: SectionStylesContent;
};
export declare const newsletterSignupBlockDefinition: SystemBlockDefinition<NewsletterSignupContent, typeof newsletterFormBlockRuntime>;
export {};
