import { ElementType, HTMLAttributes, ReactElement, ReactNode } from "react";
import { ClassNameCloneableChild } from "@react-md/utils";
/**
* A union of all the material design provided typography styles. When used with
* the Text component, this will generate the correct typography className to
* apply and determine what component to be rendered as if none was provided.
*/
export declare type TextTypes = "headline-1" | "headline-2" | "headline-3" | "headline-4" | "headline-5" | "headline-6" | "subtitle-1" | "subtitle-2" | "body-1" | "body-2" | "caption" | "overline" | "button";
export declare type TextAlign = "left" | "center" | "right";
export declare type TextDecoration = "underline" | "overline" | "line-through";
export declare type TextTransform = "capitalize" | "uppercase" | "lowercase";
export declare type TextWeight = "thin" | "light" | "regular" | "medium" | "bold" | "semi-bold" | "black";
export declare type TextColor = "secondary" | "hint" | "theme-primary" | "theme-secondary" | "theme-warning" | "theme-error";
export declare type FontStyle = "italic" | "oblique" | "normal";
/**
* A union of the default supported elements that the `Text` component can be
* rendered as. This is mostly used for adding the correct HTMLAttributes and
* enabling the forward ref.
*/
export declare type TextElement = HTMLHeadingElement | HTMLParagraphElement | HTMLSpanElement | HTMLDivElement | HTMLButtonElement | HTMLAnchorElement | HTMLBodyElement | HTMLHtmlElement;
export declare type TextRenderFunction = (props: {
className: string;
}) => ReactElement;
export interface TextProps extends HTMLAttributes {
/**
* An optional className to merge into typography styles.
*/
className?: string;
/**
* The component to render as when the children are not a render function. If
* this prop is omitted, the component will be determined by the `type` prop
* where:
*
* - `"headline-1" ->