import { type BlockDesignPlan, type ContentFrameIntent, type HeroLegibilityStrategy, type SiteStyleEmphasis, type SiteStyleItemSurfaceIntent, type SiteStyleSectionTransitionIntent, type SiteStyleSurfaceIntent } from './types';
export type AppearancePresetTarget = 'hero' | 'offerings' | 'events' | 'media-text' | 'testimonials' | 'faq' | 'contact-form' | 'cta' | 'site-header' | 'site-footer';
export type BlockAppearanceDesign = Readonly<{
    sectionSurface: SiteStyleSurfaceIntent;
    contentFrame: ContentFrameIntent;
    itemSurface: SiteStyleItemSurfaceIntent;
    transitionAfter: SiteStyleSectionTransitionIntent;
    emphasis: SiteStyleEmphasis;
    heroLegibility?: HeroLegibilityStrategy;
}>;
export type BlockAppearancePreset = Readonly<{
    kind: 'block-design';
    id: string;
    target: Exclude<AppearancePresetTarget, 'site-header' | 'site-footer'>;
    label: string;
    blockKinds: readonly string[];
    design: BlockAppearanceDesign;
}>;
export type SiteChromeAppearancePreset = Readonly<{
    kind: 'site-chrome';
    id: string;
    target: Extract<AppearancePresetTarget, 'site-header' | 'site-footer'>;
    label: string;
    chrome: Readonly<{
        surface: Extract<SiteStyleSurfaceIntent, 'base' | 'muted-band' | 'accent-band'>;
        emphasis: SiteStyleEmphasis;
    }>;
}>;
export type AppearancePreset = BlockAppearancePreset | SiteChromeAppearancePreset;
export type SiteChromeAppearancePresetTarget = SiteChromeAppearancePreset['target'];
export type BlockAppearancePresetTarget = BlockAppearancePreset['target'];
export declare const appearancePresetTargets: readonly ["hero", "offerings", "events", "media-text", "testimonials", "faq", "contact-form", "cta", "site-header", "site-footer"];
export declare const appearancePresets: readonly [{
    readonly kind: "block-design";
    readonly id: "hero-immersive-image";
    readonly target: "hero";
    readonly label: "Immersive image hero";
    readonly blockKinds: readonly ["block.hero"];
    readonly design: {
        readonly sectionSurface: "hero-image";
        readonly contentFrame: {
            readonly kind: "plain";
        };
        readonly itemSurface: "none";
        readonly transitionAfter: "soft-fade-short";
        readonly emphasis: "high";
        readonly heroLegibility: "scrim-gradient";
    };
}, {
    readonly kind: "block-design";
    readonly id: "hero-contained-intro";
    readonly target: "hero";
    readonly label: "Contained intro hero";
    readonly blockKinds: readonly ["block.hero"];
    readonly design: {
        readonly sectionSurface: "muted-band";
        readonly contentFrame: Readonly<{
            kind: "panel";
            treatment: "inset";
        }>;
        readonly itemSurface: "none";
        readonly transitionAfter: "none";
        readonly emphasis: "high";
    };
}, {
    readonly kind: "block-design";
    readonly id: "offerings-calm-list";
    readonly target: "offerings";
    readonly label: "Calm offerings list";
    readonly blockKinds: readonly ["block.event-listing", "block.event-calendar", "block.event-spotlight", "block.product-list"];
    readonly design: {
        readonly sectionSurface: "muted-band";
        readonly contentFrame: {
            readonly kind: "plain";
        };
        readonly itemSurface: "none";
        readonly transitionAfter: "soft-fade-short";
        readonly emphasis: "medium";
    };
}, {
    readonly kind: "block-design";
    readonly id: "events-base-calendar";
    readonly target: "events";
    readonly label: "Base event calendar";
    readonly blockKinds: readonly ["block.event-calendar", "block.event-listing"];
    readonly design: {
        readonly sectionSurface: "base";
        readonly contentFrame: {
            readonly kind: "plain";
        };
        readonly itemSurface: "none";
        readonly transitionAfter: "none";
        readonly emphasis: "medium";
    };
}, {
    readonly kind: "block-design";
    readonly id: "media-text-flush-feature";
    readonly target: "media-text";
    readonly label: "Flush media feature";
    readonly blockKinds: readonly ["block.media-text"];
    readonly design: {
        readonly sectionSurface: "muted-band";
        readonly contentFrame: Readonly<{
            kind: "flush-panel";
            treatment: import("@riverbankcms/blocks").FlushFrameTreatment;
            bleed: "start";
        }>;
        readonly itemSurface: "none";
        readonly transitionAfter: "none";
        readonly emphasis: "high";
    };
}, {
    readonly kind: "block-design";
    readonly id: "media-text-quiet-story";
    readonly target: "media-text";
    readonly label: "Quiet media story";
    readonly blockKinds: readonly ["block.media-text"];
    readonly design: {
        readonly sectionSurface: "base";
        readonly contentFrame: {
            readonly kind: "plain";
        };
        readonly itemSurface: "none";
        readonly transitionAfter: "soft-fade-short";
        readonly emphasis: "medium";
    };
}, {
    readonly kind: "block-design";
    readonly id: "testimonials-carded-proof";
    readonly target: "testimonials";
    readonly label: "Carded social proof";
    readonly blockKinds: readonly ["block.testimonials"];
    readonly design: {
        readonly sectionSurface: "base";
        readonly contentFrame: {
            readonly kind: "plain";
        };
        readonly itemSurface: "default";
        readonly transitionAfter: "none";
        readonly emphasis: "medium";
    };
}, {
    readonly kind: "block-design";
    readonly id: "testimonials-contained-proof";
    readonly target: "testimonials";
    readonly label: "Contained social proof";
    readonly blockKinds: readonly ["block.testimonials"];
    readonly design: {
        readonly sectionSurface: "muted-band";
        readonly contentFrame: Readonly<{
            kind: "panel";
            treatment: "raised";
        }>;
        readonly itemSurface: "raised";
        readonly transitionAfter: "soft-fade-short";
        readonly emphasis: "high";
    };
}, {
    readonly kind: "block-design";
    readonly id: "faq-contained-help";
    readonly target: "faq";
    readonly label: "Contained help panel";
    readonly blockKinds: readonly ["block.faq"];
    readonly design: {
        readonly sectionSurface: "muted-band";
        readonly contentFrame: Readonly<{
            kind: "panel";
            treatment: "inset";
        }>;
        readonly itemSurface: "default";
        readonly transitionAfter: "none";
        readonly emphasis: "low";
    };
}, {
    readonly kind: "block-design";
    readonly id: "contact-form-panel";
    readonly target: "contact-form";
    readonly label: "Contact form panel";
    readonly blockKinds: readonly ["block.form"];
    readonly design: {
        readonly sectionSurface: "muted-band";
        readonly contentFrame: Readonly<{
            kind: "panel";
            treatment: "raised";
        }>;
        readonly itemSurface: "none";
        readonly transitionAfter: "soft-fade-short";
        readonly emphasis: "medium";
    };
}, {
    readonly kind: "block-design";
    readonly id: "cta-accent-band";
    readonly target: "cta";
    readonly label: "Accent CTA band";
    readonly blockKinds: readonly ["block.cta-full"];
    readonly design: {
        readonly sectionSurface: "accent-band";
        readonly contentFrame: {
            readonly kind: "plain";
        };
        readonly itemSurface: "none";
        readonly transitionAfter: "none";
        readonly emphasis: "high";
    };
}, {
    readonly kind: "site-chrome";
    readonly id: "header-clean-base";
    readonly target: "site-header";
    readonly label: "Clean base header";
    readonly chrome: {
        readonly surface: "base";
        readonly emphasis: "medium";
    };
}, {
    readonly kind: "site-chrome";
    readonly id: "footer-muted-grounding";
    readonly target: "site-footer";
    readonly label: "Muted grounding footer";
    readonly chrome: {
        readonly surface: "muted-band";
        readonly emphasis: "low";
    };
}];
export type BlockAppearancePresetBlockKind = Extract<typeof appearancePresets[number], {
    kind: 'block-design';
}>['blockKinds'][number];
export declare function getAppearancePresetsForTarget(target: SiteChromeAppearancePresetTarget): readonly SiteChromeAppearancePreset[];
export declare function getAppearancePresetsForTarget(target: BlockAppearancePresetTarget): readonly BlockAppearancePreset[];
export declare function blockDesignPlanFromAppearancePreset<TBlockId extends string, TPurpose extends string>(preset: BlockAppearancePreset, input: Readonly<{
    blockId: TBlockId;
    blockKind: string;
    purpose: TPurpose;
}>): BlockDesignPlan<TBlockId, TPurpose>;
