import type { RNSurfaceStyleProps, RNSurfaceStyles } from 'mythik'; import type { SurfaceType, RadiusPattern, BorderStyle, BorderColorSource, ElevationStyle, TypographyHierarchy, TextDecoration, LabelStyle, HeadingColor, ColorScheme, ColorWeight, AccentApplication, ColorWeightResult, IdentityConfig, LayerBackground, GradientConfig, IconIdentity, ImageIdentity } from 'mythik'; import type { TextStyle } from 'react-native'; export type { RNSurfaceStyleProps, RNSurfaceStyles }; export interface RNShadow { shadowOffset: { width: number; height: number; }; shadowRadius: number; shadowOpacity: number; shadowColor: string; } type RNIconIdentity = Required>; type RNImageIdentity = Required>; export interface DesignTokensRN { colors: { primary: string; primaryLight: string; primaryDark: string; accent: string; accentLight: string; surface: string; background: string; text: string; textMuted: string; border: string; error: string; success: string; warning: string; }; shape: { radius: { none: number; sm: number; md: number; lg: number; xl: number; full: number; }; }; typography: { fontFamily: { base: string; heading: string; mono: string; }; scale: Record; weight: { normal: TextStyle['fontWeight']; medium: TextStyle['fontWeight']; semibold: TextStyle['fontWeight']; bold: TextStyle['fontWeight']; }; letterSpacing: number; headingLetterSpacing: number; }; spacing: { unit: number; scale: Record; }; elevation: { none: RNShadow; sm: RNShadow; md: RNShadow; lg: RNShadow; xl: RNShadow; }; motion: { duration: { fast: number; normal: number; slow: number; }; easing: { default: string; enter: string; exit: string; }; spring: { damping: number; stiffness: number; mass: number; }; stagger: number; }; opacity: { disabled: number; pressed: number; backdrop: number; muted: number; }; surface: RNSurfaceStyles; identity: { surface: SurfaceType; radiusPattern: RadiusPattern; borderWidth: number; borderStyle: BorderStyle; borderColor: BorderColorSource; elevationStyle: ElevationStyle; elevationColor: NonNullable; overrideSurfaceBorders: boolean; overrideInputButtons: boolean; typographyHierarchy: TypographyHierarchy; textDecoration: TextDecoration | TextDecoration[]; labelStyle: LabelStyle; headingColor: HeadingColor; depth: number; shadowAngle: number; colorScheme: ColorScheme; colorWeight: ColorWeight; accentApplication: AccentApplication; background: LayerBackground; gradients: GradientConfig; icons: RNIconIdentity; images: RNImageIdentity; }; colorWeight: ColorWeightResult; } export declare function useDesignTokens(tokens: Record | undefined): DesignTokensRN; //# sourceMappingURL=use-design-tokens.d.ts.map