import type { JsxElementProps } from '@ecopages/jsx'; import { type IntrinsicTag } from '@/lib/intrinsic'; import { type RuiHeadlineAs, type RuiHeadlineProps } from '../headline/headline'; export type RuiHeadingAlign = 'start' | 'center'; export type RuiHeadingSize = 'sm' | 'md' | 'lg' | 'xl'; export type RuiHeadingRootAs = Extract; export type RuiHeadingTitleAs = RuiHeadlineAs; export type RuiHeadingProps = JsxElementProps & { /** Root element. Default: `div`. */ as?: Tag; /** Text and flex alignment. Default: `start`. */ align?: RuiHeadingAlign; /** Type scale and vertical rhythm between slots. Default: `md`. */ size?: RuiHeadingSize; }; /** * Groups eyebrow, title, and description with shared spacing and type scale. * * @cssclass rui-heading - Heading block root. * @cssclass rui-heading--align-start - Left-aligned layout. * @cssclass rui-heading--align-center - Centered layout. * @cssclass rui-heading--size-sm - Compact type scale. * @cssclass rui-heading--size-md - Default type scale. * @cssclass rui-heading--size-lg - Large type scale. * @cssclass rui-heading--size-xl - XLarge type scale. */ export declare function RuiHeading(props: RuiHeadingProps): import("@ecopages/jsx").JsxRenderable; export type RuiHeadingEyebrowProps = JsxElementProps; /** * Kicker line above the title. * * @cssclass rui-heading__eyebrow - Kicker line above the title. */ export declare function RuiHeadingEyebrow({ children, class: className, ...props }: RuiHeadingEyebrowProps): import("@ecopages/jsx").JsxRenderable; export type RuiHeadingTitleProps = Omit, 'size'>; /** * Main title within a heading block — `RuiHeadline` sized by the parent `RuiHeading`. * * @cssclass rui-heading__title - Main title in a heading block. */ export declare function RuiHeadingTitle(props: RuiHeadingTitleProps): import("@ecopages/jsx").JsxRenderable; export type RuiHeadingDescriptionProps = JsxElementProps; /** * Supporting copy below the title. * * @cssclass rui-heading__description - Supporting copy below the title. */ export declare function RuiHeadingDescription({ children, class: className, ...props }: RuiHeadingDescriptionProps): import("@ecopages/jsx").JsxRenderable;