import { TypographyColor } from '../../../lib/variants';
import * as React from "react";
type TextSize = "xs" | "sm" | "base" | "lg" | "xl" | "2xl";
type TextWeight = "normal" | "medium" | "semibold" | "bold";
type TextAlign = "left" | "center" | "right";
type TextTransform = "uppercase" | "lowercase" | "capitalize";
type TextWrap = "pretty" | "balance";
type LineClamp = 1 | 2 | 3 | 4 | 5 | 6;
type TextProps = React.HTMLAttributes<HTMLParagraphElement> & {
    /** Text size - uses Tailwind scale. Default: "base" */
    size?: TextSize;
    /** Font weight */
    weight?: TextWeight;
    /** Text color */
    color?: TypographyColor;
    /** Text alignment */
    align?: TextAlign;
    /** Text transform */
    transform?: TextTransform;
    /** Text wrapping: "pretty" avoids orphans, "balance" equalizes line lengths */
    wrap?: TextWrap;
    /** Truncate text after N lines with ellipsis (uses Tailwind line-clamp-*) */
    lineClamp?: LineClamp;
    /** Change rendered element (simple polymorphism) */
    as?: React.ElementType;
    /** Change rendered element (advanced - takes precedence over `as`) */
    render?: React.ReactElement<{
        className?: string;
        children?: React.ReactNode;
    }>;
};
declare function Text({ size, weight, color, align, transform, wrap, lineClamp, as, render, className, children, ...props }: TextProps): import("react/jsx-runtime").JSX.Element;
/**
 * Caption - convenience alias for small, muted text.
 * Ideal for metadata, timestamps, and secondary information.
 */
declare function Caption(props: TextProps): import("react/jsx-runtime").JSX.Element;
/**
 * Overline - convenience alias for uppercase label text.
 * Ideal for category labels and section headers.
 */
declare function Overline(props: TextProps): import("react/jsx-runtime").JSX.Element;
export { Text, Caption, Overline, type TextProps, type TextSize, type TextWeight, type TextAlign, type TextTransform, type TextWrap, type LineClamp, };
//# sourceMappingURL=text.d.ts.map