import type { Media } from "../../lib/media";
import type { SystemBlockDefinition } from "../registry";
import type { BlockManifest } from "../manifest/schema";
import type { ContainerStylesContent, SectionStylesContent } from "../fields/boxStyles";
import type { LinkValue } from "../types/link";
import type { CtaIconName } from "../icons/cta";
export declare const heroManifest: BlockManifest;
export type HeroManifest = typeof heroManifest;
export type HeroCta = {
    label: string;
    link: LinkValue;
    /** Button variant ID - matches theme.buttons.variants[].id */
    variant?: string;
    /** Button size ID - matches theme.buttons.sizes */
    size?: "sm" | "md" | "lg" | "xl";
    iconLeft?: CtaIconName | null;
    iconRight?: CtaIconName | null;
};
export type HeroCtaInput = Partial<HeroCta>;
export type HeroContent = {
    eyebrow?: string;
    headline: string;
    subheadline?: string;
    contentAlignment?: "left" | "center" | "right";
    verticalAlignment?: "top" | "center" | "bottom";
    contentMaxWidth?: "default" | "narrow" | "medium" | "wide";
    _sectionStyles?: SectionStylesContent;
    _containerStyles?: ContainerStylesContent;
    _contentCardStyles?: ContainerStylesContent;
    ctas?: HeroCtaInput[];
};
export type HeroMedia = Media;
export declare const heroBlockDefinition: SystemBlockDefinition<HeroContent>;
