import { type ClassValue as ClassName } from 'clsx'; import { type Sprinkles } from './sprinkles.css'; import { type LegacyTextColours } from './typography.css'; export declare const TEXT_TAGS: readonly ["p", "span", "label"]; export declare const HEADING_TAGS: readonly ["h1", "h2", "h3", "h4", "h5", "h6"]; export declare const DEFAULT_TEXT_COLOUR: LegacyTextColours; export declare const DEFAULT_TEXT_SIZE: Sprinkles["text"]; export declare const DEFAULT_TEXT_WEIGHT: Sprinkles["fontWeight"]; export type TextTags = (typeof TEXT_TAGS)[number]; export type HeadingTags = (typeof HEADING_TAGS)[number]; export interface TypographyProps { /** Aligns text horizontally */ align?: Sprinkles['textAlign']; /** Forces long words to break */ breakWord?: boolean; /** Set the text colour */ color?: Sprinkles['color']; /** _in transistion_ Prefer `color` */ colour?: LegacyTextColours; /** @deprecated prefer `wrap` prop as it supports all wrapping values */ noWrap?: boolean; /** Font size of the text */ size?: Sprinkles['text']; /** Bold font weight */ strong?: boolean; /** Applies text capitalisation style */ transform?: Sprinkles['textTransform']; /** The font weight */ weight?: Sprinkles['fontWeight']; /** Control the text wrapping */ wrap?: Sprinkles['textWrap']; /** Control word break during wrapping */ wordBreak?: Sprinkles['wordBreak']; } /** * Applies typography-related styling including font size and weight, has opinionated defaults. */ export declare const typography: ({ align: textAlign, breakWord, color, colour, noWrap, size: text, strong, transform: textTransform, weight, wrap, wordBreak, }: TypographyProps) => string; export interface TextStylesProps extends TypographyProps { as?: TextTags | HeadingTags; className?: ClassName; } /** * Primary utility for styling typography, combines reset styles, style props and element props. * Also accepts a heading tag which will apply colour, font weight and size defaults. * * @example * // Basic usage with semantic color * textStyles({ color: 'primary', size: 'large' }) * * @example * // Applies default colour, weight and sizing to heading * textStyles({ as: 'h2' }) * * @example * // Text wrapping and transformation * textStyles({ * as: 'label', * noWrap: true, * transform: 'uppercase', * breakWord: true * }) */ export declare function textStyles({ as, className, colour, size, weight, ...props }: TextStylesProps): string; //# sourceMappingURL=typography.d.ts.map