import { type ReactNode } from "react";
import { type TextStyles } from "../utils/apply-text-styles.js";
import { type Styles } from "../core/styles.js";
/**
* Props for the Text component.
*/
export interface TextProps extends TextStyles {
/**
* A label for the element for screen readers.
*/
readonly "aria-label"?: string;
/**
* Hide the element from screen readers.
*/
readonly "aria-hidden"?: boolean;
/**
* This property tells Tinky to wrap or truncate text if its width is larger
* than the container. If `wrap` is passed (the default), Tinky will wrap text
* and split it into multiple lines. If `truncate-*` is passed, Tinky will
* truncate text instead, resulting in one line with the rest cut off.
*/
readonly wrap?: Styles["textWrap"];
/**
* Children of the component.
*/
readonly children?: ReactNode;
}
/**
* This component can display text and change its style to make it bold,
* underlined, italic, or strikethrough.
*
* @example
* ```tsx
* import {render, Text} from 'tinky';
*
* render(I am green);
* ```
*
* @example
* ```tsx
* import {render, Text} from 'tinky';
*
* render(
*
* I am bold on blue background
*
* );
* ```
*/
export declare function Text({ color, backgroundColor, dimColor, bold, italic, underline, strikethrough, inverse, wrap, children, "aria-label": ariaLabel, "aria-hidden": ariaHidden, }: TextProps): import("react").JSX.Element | null;