/** * Typography Style Utilities * * Helper functions for resolving typography styles from design tokens. * These utilities are used by components to map text style variants * to actual style objects from theme. * * @fileoverview Provides typography style resolution utilities for Material Design 3 * @author Ümit UZ * @since 1.2.0 * @version 1.2.0 * * @example * ```typescript * import { getTextStyle } from '@umituz/react-native-design-system-typography'; * import { useAppDesignTokens } from '@umituz/react-native-design-system-theme'; * * const MyComponent = () => { * const tokens = useAppDesignTokens(); * const textStyle = getTextStyle('headlineLarge', tokens); * return Hello; * }; * ``` */ import type { TextStyle as RNTextStyle } from 'react-native'; /** * Basic text style interface * Compatible with React Native TextStyle */ type TextStyle = RNTextStyle; import type { TextStyleVariant } from '../../domain/entities/TypographyTypes'; import type { DesignTokens } from '../../../theme'; /** * Clear typography cache * Useful for testing or theme changes */ export declare function clearTypographyCache(): void; /** * Get typography style from design tokens based on text style variant * * @param variant - Text style variant * @param tokens - Design tokens containing typography values * @returns Resolved typography style object * * @example * ```tsx * const tokens = useAppDesignTokens(); * const textStyle = getTextStyle('headlineLarge', tokens); * // Returns: { fontSize: 32, fontWeight: '400' } * ``` */ export declare function getTextStyle(variant: TextStyleVariant, tokens: DesignTokens): TextStyle; /** * Check if a string is a valid TextStyleVariant * Uses Set for O(1) lookup performance * * @param value - String to check * @returns True if value is a TextStyleVariant */ export declare function isTextStyleVariant(value: string): value is TextStyleVariant; /** * Get all available text style variants * * @returns Array of all TextStyleVariant values */ export declare function getAllTextStyleVariants(): TextStyleVariant[]; export {};