import { type ReactNode } from "react"; import { type StyleProp, type TextStyle } from "../../style/index.js"; import { type Role } from "./typography.styles.js"; export interface TypographyProps { children?: ReactNode; display?: boolean; h1?: boolean; h2?: boolean; h3?: boolean; h4?: boolean; h5?: boolean; lead?: boolean; body?: boolean; small?: boolean; tiny?: boolean; muted?: boolean; caption?: boolean; code?: boolean; mono?: boolean; subtle?: boolean; primary?: boolean; destructive?: boolean; success?: boolean; warning?: boolean; regular?: boolean; medium?: boolean; semibold?: boolean; bold?: boolean; /** * Leading (orthogonal to role). Pulls the line box in to 1.25x the font size for a * STACKED LOCKUP, where two lines read as one unit (a wordmark over its tagline, a * title over its subtitle) and the roles reading leading would leave dead air between * them. Only ever tightens, so it is safe on every role. Omit for prose: the role's * own line height is the reading value. */ tightLeading?: boolean; /** * Decoration (orthogonal to role / tone / weight). Underlines the text so an inline * text link reads as a link, replacing the banned raw `textDecorationLine` style * shim. Combines freely with every role, tone, and weight; omit for undecorated text. */ underline?: boolean; /** E2E hook forwarded to the root element. */ testID?: string; /** * For layout/positioning composition only (margins handled by Row/Column). Not a * styling escape hatch: size, color, and weight come from the props above. */ style?: StyleProp; } export interface TypographySkin { roleType: Record; } /** Build a Typography component from a platform skin. */ export declare function createTypography(skin: TypographySkin): (props: TypographyProps) => import("react").JSX.Element; //# sourceMappingURL=typography.shared.d.ts.map