import { AllowedTextElementsProps, BreakWordProps, ColorProps, FontWeightProps, HoverProps, ResponsiveBreakWordProps, ResponsiveColorProps, ResponsiveFontWeightProps, ResponsiveHoverProps, ResponsiveTargetProps, ResponsiveTextAlignProps, ResponsiveTextDecorationProps, ResponsiveTruncateProps, TargetProps, TextAlignProps, TextDecorationProps, TruncateProps } from '../../utils/types/types'; import { ComponentPropsWithRef } from 'react'; /************************* * Allowed HTML elements *************************/ type Sizes = "xs" | "sm" | "md" | "lg"; type Cursors = "pointer" | "zoom-out" | "zoom-in" | "auto" | "default" | "none" | "not-allowed"; /************************* * Component Props *************************/ export type BaseProps = { color?: ResponsiveColorProps | ColorProps; target?: ResponsiveTargetProps | TargetProps; size?: { xs: Sizes; sm?: Sizes; md?: Sizes; lg?: Sizes; } | Sizes; alignment?: ResponsiveTextAlignProps | TextAlignProps; weight?: ResponsiveFontWeightProps | FontWeightProps; decoration?: ResponsiveTextDecorationProps | TextDecorationProps; as?: AllowedTextElementsProps; url?: string; breakWord?: ResponsiveBreakWordProps | BreakWordProps; truncate?: ResponsiveTruncateProps | TruncateProps; hover?: ResponsiveHoverProps | HoverProps; children?: React.ReactNode; cursor?: Cursors; }; /************************* * Extend props based on element *************************/ export type TextProps = BaseProps & (T extends "a" ? React.AnchorHTMLAttributes : T extends "legend" ? React.HTMLAttributes : React.HTMLAttributes) & Omit, keyof BaseProps>; declare const Text: import('react').ForwardRefExoticComponent<(Omit & Omit, HTMLSpanElement> | import('react').DetailedHTMLProps, HTMLAnchorElement> | import('react').DetailedHTMLProps, HTMLElement> | import('react').DetailedHTMLProps, HTMLParagraphElement> | import('react').DetailedHTMLProps, HTMLHeadingElement>, keyof BaseProps> & { as?: AllowedTextElementsProps | undefined; }, "ref"> | Omit & Omit, HTMLSpanElement> | import('react').DetailedHTMLProps, HTMLAnchorElement> | import('react').DetailedHTMLProps, HTMLElement> | import('react').DetailedHTMLProps, HTMLParagraphElement> | import('react').DetailedHTMLProps, HTMLHeadingElement>, keyof BaseProps> & { as?: AllowedTextElementsProps | undefined; }, "ref">) & import('react').RefAttributes>; export default Text;