import z$1, { z } from 'zod';

declare const textFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"text">;
    multiline: z.ZodDefault<z.ZodBoolean>;
    maxLength: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
declare const richTextFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"richText">;
    format: z.ZodDefault<z.ZodEnum<{
        markdown: "markdown";
        html: "html";
    }>>;
}, z.core.$strip>;
declare const mediaFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"media">;
    mediaKinds: z.ZodDefault<z.ZodArray<z.ZodEnum<{
        image: "image";
        video: "video";
    }>>>;
    aspectRatio: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const booleanFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"boolean">;
}, z.core.$strip>;
declare const dateFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"date">;
}, z.core.$strip>;
declare const timeFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"time">;
}, z.core.$strip>;
declare const dateTimeFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"datetime">;
}, z.core.$strip>;
declare const slugFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"slug">;
    sourceFieldId: z.ZodOptional<z.ZodString>;
    statusFieldId: z.ZodOptional<z.ZodString>;
    maxLength: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
declare const urlFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"url">;
    allowRelative: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
declare const linkFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"link">;
}, z.core.$strip>;
declare const selectFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"select">;
    options: z.ZodArray<z.ZodObject<{
        value: z.ZodString;
        label: z.ZodString;
    }, z.core.$strip>>;
    multiple: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
declare const referenceFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"reference">;
    referenceKind: z.ZodString;
    allowManualEntry: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
/**
 * Repeater fields allow nesting of other fields within them.
 * This enables complex layouts and structures by repeating a set of fields.
 *
 * Supports two modes:
 * 1. Monomorphic (default): All items have the same schema
 * 2. Polymorphic: Items can be different types (e.g., card, quote, stat)
 *
 * Uses z.lazy() to allow mutual recursion.
 */
declare const repeaterFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"repeater">;
    itemLabel: z.ZodDefault<z.ZodString>;
    itemLabelSource: z.ZodOptional<z.ZodString>;
    minItems: z.ZodDefault<z.ZodNumber>;
    maxItems: z.ZodOptional<z.ZodNumber>;
    schema: z.ZodOptional<z.ZodObject<{
        fields: z.ZodLazy<z.ZodArray<FieldSchemaUnion>>;
    }, z.core.$strip>>;
    polymorphic: z.ZodOptional<z.ZodBoolean>;
    itemTypes: z.ZodOptional<z.ZodRecord<z.ZodString, z.ZodObject<{
        label: z.ZodString;
        icon: z.ZodOptional<z.ZodString>;
        fields: z.ZodLazy<z.ZodArray<FieldSchemaUnion>>;
    }, z.core.$strip>>>;
    allowConversion: z.ZodDefault<z.ZodBoolean>;
}, z.core.$strip>;
declare const groupFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"group">;
    schema: z.ZodObject<{
        fields: z.ZodLazy<z.ZodArray<FieldSchemaUnion>>;
    }, z.core.$strip>;
}, z.core.$strip>;
declare const modalFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"modal">;
    schema: z.ZodObject<{
        fields: z.ZodLazy<z.ZodArray<FieldSchemaUnion>>;
    }, z.core.$strip>;
}, z.core.$strip>;
declare const numberFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"number">;
    min: z.ZodOptional<z.ZodNumber>;
    max: z.ZodOptional<z.ZodNumber>;
    step: z.ZodOptional<z.ZodNumber>;
}, z.core.$strip>;
declare const tabGroupFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"tabGroup">;
    tabs: z.ZodArray<z.ZodObject<{
        id: z.ZodString;
        label: z.ZodString;
        icon: z.ZodOptional<z.ZodString>;
        description: z.ZodOptional<z.ZodString>;
        fields: z.ZodLazy<z.ZodArray<FieldSchemaUnion>>;
        sdkSectionOption: z.ZodOptional<z.ZodEnum<{
            backgroundColor: "backgroundColor";
            backgroundGradient: "backgroundGradient";
            backgroundImage: "backgroundImage";
        }>>;
    }, z.core.$strip>>;
    activeTabField: z.ZodOptional<z.ZodString>;
}, z.core.$strip>;
declare const presetOrCustomFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"presetOrCustom">;
    presets: z.ZodArray<z.ZodObject<{
        value: z.ZodString;
        label: z.ZodString;
    }, z.core.$strip>>;
    customInput: z.ZodOptional<z.ZodObject<{
        placeholder: z.ZodOptional<z.ZodString>;
        pattern: z.ZodOptional<z.ZodString>;
        helpText: z.ZodOptional<z.ZodString>;
    }, z.core.$strip>>;
}, z.core.$strip>;
declare const contentTypeSelectFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"contentTypeSelect">;
    filter: z.ZodDefault<z.ZodEnum<{
        all: "all";
        routable: "routable";
        nonRoutable: "nonRoutable";
    }>>;
}, z.core.$strip>;
declare const entryPickerFieldSchema: z.ZodObject<{
    id: z.ZodString;
    label: z.ZodString;
    description: z.ZodOptional<z.ZodString>;
    visibleRoles: z.ZodOptional<z.ZodArray<z.ZodEnum<{
        admin: "admin";
        designer: "designer";
        author: "author";
    }>>>;
    defaultValue: z.ZodOptional<z.ZodAny>;
    required: z.ZodDefault<z.ZodBoolean>;
    ui: z.ZodOptional<z.ZodObject<{
        widget: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        flattenInRepeater: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hidden: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideLabel: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        hideDescription: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        showCharCount: z.ZodOptional<z.ZodOptional<z.ZodUnion<readonly [z.ZodNumber, z.ZodObject<{
            max: z.ZodNumber;
        }, z.core.$strip>]>>>;
        showSlugPreview: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        variant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        richTextVariant: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            media: "media";
            full: "full";
            inline: "inline";
            limited: "limited";
        }>>>;
        inputType: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            number: "number";
            text: "text";
            email: "email";
            tel: "tel";
        }>>>;
        min: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        max: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        step: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        pattern: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        placeholder: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        visibleWhen: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            field: z.ZodString;
            equals: z.ZodOptional<z.ZodAny>;
            notEquals: z.ZodOptional<z.ZodAny>;
            oneOf: z.ZodOptional<z.ZodArray<z.ZodAny>>;
            notIn: z.ZodOptional<z.ZodArray<z.ZodAny>>;
        }, z.core.$strip>>>;
        modalConfig: z.ZodOptional<z.ZodOptional<z.ZodObject<{
            buttonLabel: z.ZodOptional<z.ZodString>;
            description: z.ZodOptional<z.ZodString>;
            buttonVariant: z.ZodOptional<z.ZodEnum<{
                default: "default";
                outline: "outline";
            }>>;
            showCustomizedIndicator: z.ZodOptional<z.ZodBoolean>;
            maxWidth: z.ZodOptional<z.ZodString>;
        }, z.core.$strip>>>;
        allowedTypes: z.ZodOptional<z.ZodOptional<z.ZodArray<z.ZodEnum<{
            image: "image";
            color: "color";
            gradient: "gradient";
        }>>>>;
        fullWidth: z.ZodOptional<z.ZodOptional<z.ZodBoolean>>;
        row: z.ZodOptional<z.ZodOptional<z.ZodString>>;
        colSpan: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        layout: z.ZodOptional<z.ZodOptional<z.ZodEnum<{
            stack: "stack";
            grid: "grid";
        }>>>;
        columns: z.ZodOptional<z.ZodOptional<z.ZodNumber>>;
        contentTypeField: z.ZodOptional<z.ZodOptional<z.ZodString>>;
    }, z.core.$strip>>;
    type: z.ZodLiteral<"entryPicker">;
}, z.core.$strip>;
type FieldSchemaMembers = readonly [
    typeof textFieldSchema,
    typeof richTextFieldSchema,
    typeof mediaFieldSchema,
    typeof booleanFieldSchema,
    typeof numberFieldSchema,
    typeof dateFieldSchema,
    typeof timeFieldSchema,
    typeof dateTimeFieldSchema,
    typeof slugFieldSchema,
    typeof urlFieldSchema,
    typeof linkFieldSchema,
    typeof selectFieldSchema,
    typeof referenceFieldSchema,
    typeof repeaterFieldSchema,
    typeof groupFieldSchema,
    typeof modalFieldSchema,
    typeof tabGroupFieldSchema,
    typeof presetOrCustomFieldSchema,
    typeof contentTypeSelectFieldSchema,
    typeof entryPickerFieldSchema
];
type FieldSchemaUnion = z.ZodDiscriminatedUnion<FieldSchemaMembers, "type">;
type TextFieldDefinition = z.output<typeof textFieldSchema>;
type RichTextFieldDefinition = z.output<typeof richTextFieldSchema>;
type MediaFieldDefinition = z.output<typeof mediaFieldSchema>;
type BooleanFieldDefinition = z.output<typeof booleanFieldSchema>;
type NumberFieldDefinition = z.output<typeof numberFieldSchema>;
type DateFieldDefinition = z.output<typeof dateFieldSchema>;
type TimeFieldDefinition = z.output<typeof timeFieldSchema>;
type DateTimeFieldDefinition = z.output<typeof dateTimeFieldSchema>;
type SlugFieldDefinition = z.output<typeof slugFieldSchema>;
type UrlFieldDefinition = z.output<typeof urlFieldSchema>;
type LinkFieldDefinition = z.output<typeof linkFieldSchema>;
type SelectFieldDefinition = z.output<typeof selectFieldSchema>;
type ReferenceFieldDefinition = z.output<typeof referenceFieldSchema>;
type ItemTypeDefinition = {
    label: string;
    icon?: string;
    fields: FieldDefinition[];
};
type RepeaterFieldDefinition = Omit<z.output<typeof repeaterFieldSchema>, "schema" | "itemTypes"> & {
    schema?: {
        fields: FieldDefinition[];
    };
    itemTypes?: Record<string, ItemTypeDefinition>;
};
type GroupFieldDefinition = Omit<z.output<typeof groupFieldSchema>, "schema"> & {
    schema: {
        fields: FieldDefinition[];
    };
};
type ModalFieldDefinition = Omit<z.output<typeof modalFieldSchema>, "schema"> & {
    schema: {
        fields: FieldDefinition[];
    };
};
type TabDefinition = {
    id: string;
    label: string;
    icon?: string;
    description?: string;
    fields: FieldDefinition[];
    /**
     * Optional SDK section option that controls tab visibility.
     * When set, the tab is only shown when the SDK sectionOptions[key] is not false.
     */
    sdkSectionOption?: 'backgroundColor' | 'backgroundGradient' | 'backgroundImage';
};
type TabGroupFieldDefinition = Omit<z.output<typeof tabGroupFieldSchema>, "tabs"> & {
    tabs: TabDefinition[];
};
type PresetOrCustomFieldDefinition = z.output<typeof presetOrCustomFieldSchema>;
type ContentTypeSelectFieldDefinition = z.output<typeof contentTypeSelectFieldSchema>;
type EntryPickerFieldDefinition = z.output<typeof entryPickerFieldSchema>;
type FieldDefinition = TextFieldDefinition | RichTextFieldDefinition | MediaFieldDefinition | BooleanFieldDefinition | NumberFieldDefinition | DateFieldDefinition | TimeFieldDefinition | DateTimeFieldDefinition | SlugFieldDefinition | UrlFieldDefinition | LinkFieldDefinition | SelectFieldDefinition | ReferenceFieldDefinition | RepeaterFieldDefinition | GroupFieldDefinition | ModalFieldDefinition | TabGroupFieldDefinition | PresetOrCustomFieldDefinition | ContentTypeSelectFieldDefinition | EntryPickerFieldDefinition;
declare const blockCategoryEnum: z.ZodEnum<{
    media: "media";
    layout: "layout";
    marketing: "marketing";
    content: "content";
    blog: "blog";
    interactive: "interactive";
}>;
type BlockCategory = z.infer<typeof blockCategoryEnum>;
/**
 * Whitelisted CMS loader endpoints for SDK custom blocks.
 *
 * The canonical list is SUPPORTED_LOADER_ENDPOINTS in @riverbankcms/sdk/data.
 * This type must remain in sync. The SDK validation derives its Zod schema
 * from that constant, ensuring runtime and compile-time consistency.
 *
 * Supported endpoints:
 * - listPublishedEntries: Fetch published content entries
 * - getPublishedEntryPreview: Fetch a single entry by slug
 * - listPublicEvents: Fetch public calendar events
 * - getPublicFormById: Fetch a form configuration
 * - getPublicBookingServices: Fetch booking services
 */
type SdkLoaderEndpoint = 'listPublishedEntries' | 'getPublishedEntryPreview' | 'listPublicEvents' | 'getPublicFormById' | 'getPublicBookingServices';
/**
 * A binding expression for dynamic loader params.
 *
 * Bindings resolve at runtime from block content or page context:
 * - `content.fieldName` - Value from block's content field
 * - `$root.siteId` - Site ID from page context
 * - `$root.pageId` - Page ID from page context
 * - `$root.previewStage` - 'published' or 'preview'
 */
type ParamBinding = {
    $bind: {
        /** Path to bind from (e.g., 'content.categoryId', '$root.siteId') */
        from: string;
        /** Fallback value if binding resolves to undefined */
        fallback?: string;
    };
};
/**
 * A loader param value can be static or a binding expression.
 */
type LoaderParamValue = string | number | boolean | ParamBinding;
/**
 * Config-based data loader for SDK custom blocks.
 *
 * Config loaders are declarative and restricted to whitelisted CMS endpoints.
 * They execute server-side during loadPage().
 */
interface SdkConfigLoader {
    /** Whitelisted CMS endpoint to call */
    endpoint: SdkLoaderEndpoint;
    /**
     * Parameters to pass to the endpoint.
     * Values can be static or use bindings for dynamic resolution.
     */
    params: Record<string, LoaderParamValue>;
    /**
     * Execution mode.
     * Currently only 'server' is implemented - loaders run during loadPage().
     * 'client' is reserved for future client-side refresh functionality.
     * @default 'server'
     */
    mode?: 'server' | 'client';
}
/**
 * SDK Custom Block Definition
 *
 * Used by SDK sites to define entirely new blocks in their riverbank.config.ts.
 * These blocks:
 * - Have their own field schemas (using standard FieldDefinition format)
 * - Appear in the CMS block picker alongside system blocks
 * - Are edited using CMS-generated forms (existing infrastructure)
 * - MUST be rendered via blockOverrides on the SDK site
 *
 * Block IDs must start with 'custom.' to distinguish from system blocks.
 */
interface SdkCustomBlock {
    /** Block ID - MUST start with 'custom.' (e.g., 'custom.team-member') */
    id: `custom.${string}`;
    /** Display title in block picker */
    title: string;
    /** Field ID to use as block title in lists (must match a field id) */
    titleSource?: string;
    /** Description shown in block picker */
    description?: string;
    /** Category for block picker organization */
    category: BlockCategory;
    /** Lucide icon name */
    icon?: string;
    /** Search tags for block discovery */
    tags?: string[];
    /** Field definitions - uses same type as system blocks */
    fields: FieldDefinition[];
    /**
     * Config-based data loaders for CMS endpoints.
     *
     * Keys are loader names (e.g., 'posts', 'events').
     * Data is available in the component as `data.{key}`.
     *
     * @example
     * ```typescript
     * dataLoaders: {
     *   events: {
     *     endpoint: 'listPublicEvents',
     *     params: {
     *       siteId: { $bind: { from: '$root.siteId' } },
     *       limit: { $bind: { from: 'content.limit', fallback: '5' } },
     *     },
     *   },
     * }
     * ```
     */
    dataLoaders?: Record<string, SdkConfigLoader>;
}

declare module 'zod' {
    interface GlobalMeta {
        id?: string;
        title?: string;
        description?: string;
        widget?: 'text' | 'textarea' | 'select' | 'radio' | 'switch' | 'image' | 'color' | 'url' | 'internalLink' | 'externalUrl' | 'date' | 'datetime' | 'slug' | 'richtext' | 'reference' | 'button' | 'object' | 'array' | 'number' | 'media' | 'embed';
        previewAspectRatio?: string;
        placeholder?: string;
        options?: ReadonlyArray<{
            label: string;
            value: string | number;
        }>;
        group?: string;
        order?: number;
        width?: '1/3' | '1/2' | '2/3' | 'full';
        hidden?: boolean | ((formValue: unknown) => boolean);
        readOnly?: boolean | ((formValue: unknown) => boolean);
    }
}
declare const pageOutlineSchema: z$1.ZodObject<{
    name: z$1.ZodString;
    path: z$1.ZodString;
    purpose: z$1.ZodString;
    blocks: z$1.ZodArray<z$1.ZodObject<{
        id: z$1.ZodNullable<z$1.ZodString>;
        kind: z$1.ZodString;
        purpose: z$1.ZodString;
    }, z$1.core.$strip>>;
}, z$1.core.$strip>;
type PageOutline = z$1.infer<typeof pageOutlineSchema>;

export type { FieldDefinition as F, PageOutline as P, SdkCustomBlock as S };
