import * as React from 'react'; import type { BasicHTMLHandle } from '../../handle/handle'; import type { ResponsiveValue } from '../../responsive/responsive'; import type { TextAriaProps, TitleAriaProps } from './typography_aria_attributes'; type GenericTagName = keyof Pick; export type HeadingTagName = keyof Pick | GenericTagName; type ParagraphTagName = keyof Pick | GenericTagName; export declare const InheritColor: unique symbol; export declare const typographyTones: readonly [ 'primary', 'secondary', 'tertiary', 'critical', 'info', 'success', 'warn', typeof InheritColor ]; export type TypographyTone = (typeof typographyTones)[number]; export type TypographyVariant = TypographyWeight | 'title' | 'display'; export type TypographyWeight = 'regular' | 'bold'; export type TypographyAlignment = ResponsiveValue<'center' | 'end' | 'inherit' | 'start'>; export declare const typographySizes: readonly ["xxlarge", "xlarge", "large", "medium", "small", "xsmall", "xxsmall"]; export type TypographySize = (typeof typographySizes)[number]; export type TextTypographySize = Exclude; export type TitleTypographySize = Exclude; export type DisplayTypographySize = Exclude; export type TypographyHandle = BasicHTMLHandle; export type FontSizeAdjust = { fontMetric: 'ex-height' | 'cap-height' | 'ch-width' | 'ic-width' | 'ic-height' fontHeightMultiple: number; }; export type FontStackMode = 'default' | 'platform-agnostic' | 'fallback'; export type SharedTypographyProps = { ref?: React.Ref id?: string testId?: string alignment?: TypographyAlignment tabIndex?: -1 tone?: TypographyTone lineClamp?: number wrapStyle?: 'unset' | 'balance' | 'pretty' allowUserSelect?: boolean capitalization?: 'default' | 'uppercase' fontSizeAdjust?: FontSizeAdjust fontStackMode?: FontStackMode className?: string children?: React.ReactNode elementTiming?: string }; type LegacyMargins = { margins?: 'legacy' }; export type TextProps = SharedTypographyProps & TextAriaProps & LegacyMargins & { weight?: TypographyWeight size?: TextTypographySize tagName?: ParagraphTagName }; export type TitleProps = SharedTypographyProps & TitleAriaProps & LegacyMargins & { size?: TitleTypographySize tagName?: HeadingTagName }; export type DisplayProps = SharedTypographyProps & TitleAriaProps & { size: DisplayTypographySize tagName: HeadingTagName }; export declare const Text: React.ComponentType; export declare const Title: React.ComponentType; export declare const Display: React.ComponentType; type TextComponentProps = SharedTypographyProps & (TextAriaProps | TitleAriaProps) & { tagName: HeadingTagName | ParagraphTagName internalClassName: string style?: React.CSSProperties }; export declare function TextComponent(props: TextComponentProps): React.JSX.Element | null; export declare function getDefaultHeadingTagName(size?: TitleTypographySize): 'h1' | 'h2' | 'h3' | 'h4' | 'h5' | 'h6'; export {};