import React, { ElementType, HTMLAttributes, ReactElement, ReactNode } from "react"; import { ClassNameCloneableChild } from "@react-md/utils"; /** * A union of the available text container sizes. One of these values must be * chosen to help set the max width for text. */ export declare type TextContainerSize = "auto" | "mobile" | "desktop"; /** * A type describing the text container's children render function. It provides * an object containing the correct (and merged) className and exects a * renderable element to be returned. */ export declare type TextContainerRenderFunction = (props: { className: string; }) => ReactElement; /** * The base props for rendering the text component. */ export interface TextContainerProps extends HTMLAttributes { /** * An optional className to merge with typography text container styles. */ className?: string; /** * The size for the text container. This can usually just be left at the * default of `"auto"` since it will automatically transition between * `"mobile"` and `"desktop"` based on media queries. However, you can also * manually specify `"mobile"` or `"desktop"` if needed. */ size?: TextContainerSize; /** * The component to render as. By default this will just be a div, but * anything can be provided. */ component?: ElementType; /** * Either a child render function or a react node. If this is not the child * render function, a different wrapper component can be provided using the * `component` prop. */ children?: ReactNode | ClassNameCloneableChild | TextContainerRenderFunction; /** * Boolean if the `className` should be cloned into the `children` for this * component. * * Note: This will only work if the child component passed the `className` * down to to the DOM element. */ clone?: boolean; } declare const TextContainer: React.ForwardRefExoticComponent | React.FunctionComponent>>; export default TextContainer;