import type { SystemBlockDefinition } from "../registry";
import type { SectionStylesContent } from "../fields/boxStyles";
import { type LocationMapSource } from "../runtime/nodes/location-map.shared";
type LocationMapContentValue = Readonly<{
    addressText?: string | null;
    lat?: number | null;
    lng?: number | null;
}>;
export type LocationMapContent = {
    heading?: string | null;
    locationSource?: LocationMapSource | null;
    venueId?: string | null;
    location?: LocationMapContentValue | null;
    showAddressText?: boolean | null;
    showDirections?: boolean | null;
    directionsLabel?: string | null;
    zoom?: number | null;
    heightPx?: number | null;
    _sectionStyles?: SectionStylesContent;
};
export declare function normalizeLocationMapContent(content: unknown): LocationMapContent;
export declare const locationMapManifest: import("..").DefinedBlockManifest<{
    readonly id: "block.location-map";
    readonly title: "Map";
    readonly titleSource: "heading";
    readonly description: "Show a business location with an interactive map and directions link.";
    readonly category: "content";
    readonly tags: readonly ["map", "location", "address", "directions"];
    readonly icon: "MapPin";
    readonly styleTokens: {
        readonly background: "surface";
        readonly typography: "body";
        readonly spacing: "md";
    };
    readonly additionalFields: readonly [import("..").FieldDefinition, import("..").FieldDefinition, {
        id: string;
        label: string;
        required: boolean;
        type: "select";
        options: {
            value: string;
            label: string;
            description?: string | undefined;
            icon?: string | undefined;
        }[];
        multiple: boolean;
        description?: string | undefined;
        visibleRoles?: ("admin" | "designer" | "author")[] | undefined;
        defaultValue?: any;
        ui?: {
            widget?: string | undefined;
            preset?: "disclosure" | undefined;
            flattenInRepeater?: boolean | undefined;
            hidden?: boolean | undefined;
            hideLabel?: boolean | undefined;
            hideDescription?: boolean | undefined;
            showCharCount?: number | {
                max: number;
            } | undefined;
            showSlugPreview?: boolean | undefined;
            variant?: "full" | "media" | "inline" | "notes" | "limited" | undefined;
            richTextVariant?: "full" | "media" | "inline" | "notes" | "limited" | undefined;
            cropEditorMode?: "inline" | "dialog" | undefined;
            cropEditorAutoOpen?: boolean | undefined;
            mediaPickerAutoOpen?: boolean | undefined;
            showMediaPreview?: boolean | undefined;
            showMediaOverlayActions?: boolean | undefined;
            mediaDelivery?: {
                sizes?: string | undefined;
                widthCandidates?: number[] | undefined;
                maxCssWidth?: number | undefined;
                maxCssHeight?: number | undefined;
                strategy?: "default" | "columnsAuto" | "imageGalleryVariant" | undefined;
                strategyOptions?: Record<string, unknown> | undefined;
            } | undefined;
            mediaDeliveryByVariant?: Record<string, {
                sizes?: string | undefined;
                widthCandidates?: number[] | undefined;
                maxCssWidth?: number | undefined;
                maxCssHeight?: number | undefined;
                strategy?: "default" | "columnsAuto" | "imageGalleryVariant" | undefined;
                strategyOptions?: Record<string, unknown> | undefined;
            }> | undefined;
            inputType?: "number" | "email" | "text" | "tel" | undefined;
            min?: number | undefined;
            max?: number | undefined;
            step?: number | undefined;
            showValue?: boolean | undefined;
            pattern?: string | undefined;
            placeholder?: string | undefined;
            visibleWhen?: {
                field: string;
                equals?: any;
                notEquals?: any;
                oneOf?: any[] | undefined;
                notIn?: any[] | undefined;
            } | undefined;
            modalConfig?: {
                buttonLabel?: string | undefined;
                description?: string | undefined;
                buttonVariant?: "default" | "outline" | undefined;
                showCustomizedIndicator?: boolean | undefined;
                maxWidth?: string | undefined;
            } | undefined;
            allowedTypes?: ("image" | "color" | "gradient")[] | undefined;
            fullWidth?: boolean | undefined;
            row?: string | undefined;
            colSpan?: number | undefined;
            layout?: "stack" | "grid" | undefined;
            columns?: number | undefined;
            gridColsPreset?: "simple2" | "simple3" | "simple4" | "buttonCtaRow" | undefined;
            gridColumns?: {
                base?: number | undefined;
                sm?: number | undefined;
                md?: number | undefined;
                lg?: number | undefined;
                xl?: number | undefined;
            } | undefined;
            gridColsClassName?: string | undefined;
            repeaterPreset?: "thumbnailGrid" | "layoutGrid" | undefined;
            thumbnailField?: string | undefined;
            thumbnailAltField?: string | undefined;
            thumbnailLabelField?: string | undefined;
            thumbnailAspectRatio?: string | undefined;
            thumbnailCardDensity?: "compact" | "comfortable" | undefined;
            layoutGridColumnsFields?: {
                lg: string;
                base?: string | undefined;
                sm?: string | undefined;
                md?: string | undefined;
                xl?: string | undefined;
            } | undefined;
            layoutGridSpanField?: string | undefined;
            layoutGridRowField?: string | undefined;
            layoutGridColumnField?: string | undefined;
            layoutGridMaxRows?: number | undefined;
            iconPickerPreset?: "cta" | undefined;
            contentTypeField?: string | undefined;
            fixedContentType?: string | undefined;
            valueFrom?: "id" | "slug" | "identifier" | undefined;
            siteOptionSource?: "venues" | "eventCategories" | "staffMembers" | undefined;
            searchThreshold?: number | undefined;
            renderInHeader?: boolean | undefined;
            intent?: "content" | "style" | "display" | "behavior" | undefined;
        } | undefined;
        source?: {
            kind: "static";
        } | {
            kind: "site";
            optionSource: "venues" | "eventCategories" | "staffMembers";
        } | {
            kind: "sdk";
        } | undefined;
    }, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition, import("..").FieldDefinition];
    readonly layout: import("..").NodeDefinition;
}>;
export declare const locationMapBlockDefinition: SystemBlockDefinition<LocationMapContent>;
export {};
